EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  2025  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  2025 
<== Date ==> <== Thread ==>

Subject: Re: procServ and core dumps
From: Ralph Lange via Tech-talk <[email protected]>
To: EPICS Tech Talk <[email protected]>
Date: Mon, 17 Jun 2019 09:11:09 +0200
Hi Ahmad,

procServ does not change or mingle with the core dump settings. So, if the context allows creating a core file, the system will create one. (Which might be created in the current directory, or some other place if you use services like the abrt-daemon.)
After that, the procServ parent process will be notified that the child process (IOC) died and restart it,if it is configured to do so.

You can test this by sending the child process (IOC) a signal that generates a core dump:

ralph@debian-testing:~$ mkdir TTT; cd TTT
ralph@debian-testing:~/TTT$ ulimit -c 1000000000
ralph@debian-testing:~/TTT$ procServ 12345 /usr/bin/softIoc -d ~/test.db
procServ: spawning daemon process: 3085
Warning: No log file and no port for log connections specified.
ralph@debian-testing:~/TTT$ telnet localhost 12345
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
@@@ Welcome to procServ (procServ Process Server 2.7.0)
@@@ Use ^X to kill the child, auto restart is ON, use ^T to toggle auto restart
@@@ procServ server PID: 3085
@@@ Server startup directory: /home/ralph/TTT
@@@ Child startup directory: /home/ralph/TTT
@@@ Child started as: /usr/bin/softIoc
@@@ Child "/usr/bin/softIoc" PID: 3086
@@@ procServ server started at: Mon Jun 17 09:06:29 2019
@@@ Child "/usr/bin/softIoc" started at: Mon Jun 17 09:06:30 2019
@@@ 0 user(s) and 0 logger(s) connected (plus you)
telnet> q
Connection closed.
ralph@debian-testing:~/TTT$ kill -3 3086
ralph@debian-testing:~/TTT$ ls -al
total 1940
drwxr-xr-x  2 ralph ralph     4096 Jun 17 09:07 .
drwxr-xr-x 52 ralph ralph     4096 Jun 17 09:06 ..
-rw-------  1 ralph ralph 44339200 Jun 17 09:07 core
-rw-r--r--  1 ralph ralph        5 Jun 17 09:06 pid.txt
ralph@debian-testing:~/TTT$ ps -ef | grep softIoc
ralph     3085     1  0 09:06 ?        00:00:00 procServ 12345 /usr/bin/softIoc -d /home/ralph/test.db
ralph     3163  3085  0 09:07 pts/2    00:00:00 /usr/bin/softIoc -d /home/ralph/test.db


Cheers,
~Ralph


References:
procServ and core dumps Abdalla Ahmad via Tech-talk

Navigate by Date:
Prev: procServ and core dumps Abdalla Ahmad via Tech-talk
Next: RE: [AsynDriver] getAddress and callbacks Joao Afonso via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  2025 
Navigate by Thread:
Prev: procServ and core dumps Abdalla Ahmad via Tech-talk
Next: Re: procServ and core dumps Konrad, Martin via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  2025 
ANJ, 17 Jun 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·