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 2019 2020 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 2019 2020 2021 2022 <2023> 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: [EXTERNAL] procServ comminication with phoebus problem |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | wang Ewen <ewenwang2021 at gmail.com> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Fri, 2 Jun 2023 12:57:22 +0000 |
Hi Ewen,
You have a couple of problems.
That means that either you have not set the execute bit for the start_ioc file like this:
chmod +x start_ioc
Or that you need to put the directory containing start_ioc in your PATH.
That is also probably because st.cmd needs to have the execute bit set with chmod. However, that probably won't work because you need to also "cd" to that directory before running it.
I recommend the following:
cd
/usr/local/EPICS/ioc01/iocBoot/iocmytest/
../../bin/linux-x86_64/myApp st.cmd
chmode +x start_epics
ioc01 20008 1 /usr/local/EPICS/ioc01/iocBoot/iocmytest/start_epics Mark From: wang Ewen <ewenwang2021 at gmail.com>
Sent: Friday, June 2, 2023 3:35 AM To: Mark Rivers <rivers at cars.uchicago.edu> Cc: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> Subject: 回复: [EXTERNAL] procServ comminication with phoebus problem Hi Mark , I can't run it properly .This the log: [root@localhost ewen]# start_ioc ioc01 bash: start_ioc: command not found.. [root@localhost ewen]# python start_ioc ioc01 /usr/local/bin/procServ --logstamp -n "ioc01_IOC" -L /home/ewen/logs/ioc01.log 20008 /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd /usr/local/bin/procServ: spawning daemon process: 7619 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. @@@ Welcome to procServ (procServ Process Server 2.9.0-dev) @@@ Use ^X to kill the child, auto restart mode is ON, use ^T to toggle auto restart @@@ procServ server PID: 7619 @@@ Server startup directory: /home/ewen @@@ Child startup directory: /home/ewen @@@ Child "ioc01_IOC" started as: /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd @@@ Child log file: /home/ewen/logs/ioc01.log @@@ Child "ioc01_IOC" is SHUT DOWN @@@ procServ server started at: Fri Jun 2 16:18:07 2023 @@@ 0 user(s) and 0 logger(s) connected (plus you) @@@ ^R or ^X restarts the child, ^Q quits the server @@@ Restarting child "ioc01_IOC" @@@ (as /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd) @@@ The PID of new child "ioc01_IOC" is: 7621 @@@ @@@ @@@ @@@ @@@ /usr/local/bin/procServ: child could not execute: /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd, No such file or directory
@@@ @@@ @@@ @@@ @@@ @@@ Received a sigChild for process 7621. Normal exit status = 255 @@@ Current time: Fri Jun 2 16:18:08 2023 @@@ Child process is shutting down, a new one will be restarted shortly @@@ ^R or ^X restarts the child, ^Q quits the server @@@ Restarting child "ioc01_IOC" @@@ (as /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd) @@@ The PID of new child "ioc01_IOC" is: 7631 @@@ @@@ @@@ @@@ @@@ /usr/local/bin/procServ: child could not execute: /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd, No such file or directory
[root@localhost ewen]# ps aux | grep procServ root 7736 0.0 0.0 16928 1284 ? Ss 16:25 0:00 /usr/local/bin/procServ --logstamp -n ioc01_IOC -L /home/ewen/logs/ioc01.log 20008 /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd root 7856 0.0 0.0 112816 972 pts/2 S+ 16:26 0:00 grep --color=auto procServ
This the IOCLIST set: IOCLIST = """ ioc01 20008 1 /usr/local/EPICS/ioc01/iocBoot/iocmytest/st.cmd iocs 20009 1 /usr/local/EPICS/ioc01/iocBoot/iocmyexample/st.cmd
# real iocs, terminal servers #13LAB2 20041 1 /usr/bin/telnet gsets1.cars.aps.anl.gov 4002 #13IDE 20028 1 /usr/bin/telnet gsets1.cars.aps.anl.gov 4003 #13BMD 20026 1 /usr/bin/telnet gsets1.cars.aps.anl.gov 4004 ……
# procServ command #procserv = '/usr/local/bin/procServ -n "%s_IOC" --logstamp -L /home/epics/logs/%s.log %s %s' procserv = '/usr/local/bin/procServ --logstamp -n "%s_IOC" -L /home/ewen/logs/%s.log %s %s' ……
I don't know where the problem is set,please help me check,Thank you .
Best regards,
Ewen
发件人: Mark Rivers
Hi Ewen,
Yes, you normally always use the same CA port, 5064.
For procServ just change what script it executes to start the IOC, and the telnet port number.
Matt Newville wrote a nice Python script for starting our IOCs, which I have attached.
To add a new IOC you just added it to the IOCLIST. To start the IOC called 13BMD_XPS you just type
start_ioc 13BMD_XPS
That will also open a telnet connection to the correct port unless the “-s” or “?silent” option is used.
start_ioc takes a “-b” or “?onboot” flag in which case it starts all IOCs that are flagged to start on boot.
If the IOC is already running then typing
start_ioc 13BMD_XPS
will just telnet to the correct port.
Mark
From: Tech-talk <tech-talk-bounces at aps.anl.gov>
On Behalf Of wang Ewen via Tech-talk
Hi , Thank you for your reply, it's working fine now. I want to run more than one iocs at the same times communication with css phoebus,is it the same port 5064? And just change the ioc name and port? Is it can autorestart when the server restart? Best regards, Ewen 从 Windows 版邮件发送
发件人: Hartman, Steven
That is incorrect. In your configuration, procServ is using port 8888 to provide connection to the IOC console it serves. Channel Access is still using port 5064. Try org.phoebus.pv.ca/addr_list=192.168.238.134:5064. You should be able to telnet to port 8888 to connect to the IOC shell via procServ.
|