Experimental Physics and
Hi Dave, (hello core-fellows,)I have been working on your procServ application to add a bunch of features that we needed, mainly to get it running smoothly under conserver. I'm attaching the description part of the one-file html documentation I am currently writing and a snippet of how a control connection to a procServ running the example IOC looks like (including a ^X reboot).
Is there anything you would like me to add in terms of functionality or configuration options? (The changes are compatible to the original version, all environment variables and redirecting the output still work.)
I will try to get this running on win32-x86-cygwin, so that we can hopefully integrate the increasing number of Windows based IOCs in a similar way, but I'm not a Windows person, so I might have to ask for help if this doesn't work out of the box.
Any ideas? Suggestions? Cheers, Ralphps. How should we integrate the changes? Should I send you the new version when it is finished? Should we make it an "official" extension and host it in the APS repository? Or somewhere else?
mare: .../epics/procServ > telnet localhost 20000 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. @@@ Welcome to the procServ process server (procServ Version 2.0.0) @@@ Use ^X to kill (and restart) the child. @@@ procServ server PID: 14971 @@@ Startup directory: /net/csr/srv/projects/ctl/lange/epics/ioc/test314/iocBoot/iocexample @@@ Child "SoftIOC Example" started as: ./st.cmd @@@ Child "SoftIOC Example" PID: 14972 @@@ procServ server started at: Tue Apr 8 18:46:15 2008 @@@ Child "SoftIOC Example" started at: Tue Apr 8 18:46:16 2008 @@@ 0 user(s) and 0 logger(s) connected (plus you) dbl langeHost:aiExample langeHost:aiExample1 langeHost:aiExample2 langeHost:aiExample3 langeHost:calcExample langeHost:calcExample1 langeHost:calcExample2 langeHost:calcExample3 langeHost:compressExample langeHost:subExample langeHost:xxxExample epics> @@@ @@@ @@@ @@@ @@@ @@@ Received a sigChild for process 14972. The process was killed by signal 9 @@@ Current time: Tue Apr 8 18:46:37 2008 @@@ Child process is shutting down, a new one will be restarted shortly @@@ Restarting child "SoftIOC Example" @@@ (as ./st.cmd) @@@ The PID of new child "SoftIOC Example" is: 14995 @@@ @@@ @@@ @@@ @@@ #!../../bin/linux-x86/example ## You may have to change example to something else ## everywhere it appears in this file < envPaths epicsEnvSet(ARCH,"linux-x86") epicsEnvSet(IOC,"iocexample") epicsEnvSet(TOP,"/net/csr/srv/projects/ctl/lange/epics/ioc/test314") epicsEnvSet(EPICS_BASE,"/opt/Epics/R3.14.8/base/3-14-8-2-0") cd /net/csr/srv/projects/ctl/lange/epics/ioc/test314 ## Register all support components dbLoadDatabase("dbd/example.dbd") [...]Title: procServ Documentation
procServ - Process Server with Telnet Console and Log Access
procServ creates a run time environment for a command
(e.g. a soft IOC). It forks a daemon into the background,
that creates a child process running
procServ can be configured to write a console
log of all in- and output of the child process into
a file using the
Both access and log ports allow multiple connections,
which are handled transparently: all input from access connections is
forwarded to the child process, all output from the child is forwarded to all
access and log connections (and written to the log file). All diagnostic
messages from procServ itself start with "
The procServ daemon process will automatically
respawn a child process that dies. To avoid spinning,
procServ honours a minimum time between child process restarts (default: 15
seconds, can be changed at compile time). To allow restarting the
child by sending a
To facilitate being started and stopped as a standard system service, the
|ANJ, 02 Feb 2012||
· EPICSv4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·