Hi Yong,
I tried out manage-iocs successfully and was able to start an ioc and see it in the . However, I did not understand the readme to install and configure the conserver. What creates the /etc/conserver/iocs.cf file? https://github.com/NSLS-II/systemd-softioc/blob/master/README.md
I am a bit confused about the development of all these tools that seem to do similar things. ProcServ was created first, then NSLS-II created manage-iocs which wraps around that as a Debian package
https://github.com/epicsdeb/sysv-rc-softioc. It looks like you’ve since taken that on and extended it to use system. Meanwhile procServUtils seems to do similar stuff and has been added into ProcServ.
Does https://github.com/NSLS-II/systemd-softioc and procServUtils (manage-procs) do the same thing? Which one should I use?
Thanks
Will
From: Hu, Yong <yhu at bnl.gov>
Sent: Friday, June 11, 2021 8:46 PM
To: Smith, William <william.smith at helmholtz-berlin.de>; tech-talk at aps.anl.gov
Subject: Re: Instructions on using manage-procs procServ and Conserver
Hi Will,
Yes, a more advanced tool is needed to manage IOCs which are wrapped by procServ as background daemons. At NSLS-2, we have developed such a tool named “manage-iocs” which works on all
Linux distributions (Debian, Red Hat, etc.) and we have been using this tool for over 10 years. Check it out:
https://github.com/NSLS-II/systemd-softioc
Please take a few minutes to read the instruction. We also have Debian and Red Hat packages for that tool if you are interested in. Let me know if you need further assistance.
Cheers,
Yong
Hi!
I have been using procServ for a while to run my IOC’s in the background. There are now too many and I want to learn how to use manage-procs, part of procServUtils to create and start processes and configure the conserver.cf
file to view those processes from conserver. Here’s what I’ve done:
-Installed procServ, and included the procServUtils in the build
-Installed conserver
-Set up an IOC that I have tested can start from the command line, or with procServer
If I go to the directory containing the st.cmd file and type:
manage-procs add -P 7010 -A -f sampleIOC1 ./st.cmd
I expect the IOC to start and be accessible on telnet port 7010. Instead I get the following message which I don’t understand:
Created symlink /home/emil/.config/systemd/user/multi-user.target.wants/procserv-sampleIOC1.service → /home/emil/.config/procServ.d/procserv-sampleIOC1.service.
Created symlink /home/emil/.config/systemd/user/procserv-sampleIOC1.service → /home/emil/.config/procServ.d/procserv-sampleIOC1.service.
Failed to start procserv-sampleIOC1.service: Unit procserv-sampleIOC1.service has a bad unit file setting.
See user logs and 'systemctl --user status procserv-sampleIOC1.service' for details.
If I look in that file, I get the following:
cat /home/emil/.config/procServ.d/procserv-sampleIOC1.service
[Unit]
Description=procServ for sampleIOC1
After=network.target remote-fs.target
ConditionPathIsDirectory=/home/emil/Apps/epics/R7.0.4.1/work/ioc/TEST/sampleIOC/iocBoot/iocsampleIOC
[Service]
Type=simple
ExecStart=None --user sampleIOC1
RuntimeDirectory=procserv-sampleIOC1
StandardOutput=syslog
StandardError=inherit
SyslogIdentifier=procserv-sampleIOC1
[Install]
WantedBy=multi-user.target
If I look at the systemd process that failed to start I get:
Jun 11 16:40:46 sissy-serv-02 systemd[29562]: /home/emil/.config/procServ.d/procserv-sampleIOC1.service:9: Executable "None" not found in path "/usr/local/sbin:/usr/local/bin:/usr/sbin:/us…..
Any idea what I am doing wrong?
Thanks,
Will
Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
Mitglied der Hermann von Helmholtz-Gemeinschaft Deutscher Forschungszentren e.V.
Aufsichtsrat: Vorsitzender Dr. Volkmar Dietz, stv. Vorsitzende Dr. Jutta Koch-Unterseher
Geschäftsführung: Prof. Dr. Jan Lüning (Sprecher), Prof. Dr. Bernd Rech, Thomas Frederking
Sitz Berlin, AG Charlottenburg, 89 HRB 5583
Postadresse:
Hahn-Meitner-Platz 1
14109 Berlin
Deutschland