...
- (snip from the iocConsole EPICS Extension doc referenced above):
In the iocConsole session, the most important screen commands are ("C-" below indicates the ctrl key)- C-a d : Detach the screen session from this terminal (C-a C-d also works).
- C-a ? : Show all screen commands.
- C-a * : Show a list of all users attatched to this screen session.
C-a \ [ : Enter copy/scrollback mode (C-a C-\[ or C-a <esc> also works). In copy/scrollback mode you can use 'vi' or 'emacs' commands to move around the scrollback history. Some useful scrollback mode commands are:Wiki Markup - Arrow keys move line by line or column by column.
- h, j, k, l move line by line or column by column (vi-style).
- + - move one line up/down.
- C-u C-d move up/down one half a screen.
- C-b C-f move up/down a full screen.
- g moves to the beginning of the scrollback history.
- % preceded by a number jumps to that percentage of the scrollback.
- / or ? followed by some characters followed by a return searches forward or backwards for those characters.
- <esc> exits copy/scrollback mode.
- Important: do not type "exit", or do ctrl-C from within a soft iocConsole session: this will terminate the soft IOC process! Instead use C-a d to detach from the screen session.
...
Here are a few situations you may encounter at some point:
...
- *Your IOC hasn't been added to screeniocs yet:*
looks like this: \
[softegr@lcls-builder script\]$ iocConsole xyz
Error: iocConsole is terminating...ioc was not included in screeniocs file
- Unsuccessful attempt to start an iocConsole session, with no socket found error message from iocConsole:
looks like this:
screen writes out a message with something like "blah blah blah no socket found blah blah blah" and returns to the Linux prompt.
<when a real example arises, I will cut/paste it in here!>- Possible causes: soft iocs - for a soft ioc, this error condition often indicates that the soft IOC cannot start due to some IOC software or configuration problem, or has hung in some way.
- the IOC process has crashed.
- rare: the IOC process has hung, but is still "running"
- the IOC is incorrectly entered in screeniocs (e.g. wrong directories or executable)
- Things to try soft iocs:
- check screeniocs to make sure the data for your IOC are correct
- have a look at the screenlog file: $IOC_DATA/iocname/screenlog.0. There are often error messages from the IOC indicating why it's having problems. Problems previously observed in screenlog.0 include:
- $IOC/iocname bin directory or executable name not found (problem with make)
- segmentation fault - IOC executable cannot run
- for a hung but running soft ioc: as <adminuser> on <softIOCmachine>: ps -ef | grep <iocname>
- If a process exists, but you can't iocConsole to it, this indicates a hang in the process. You'll need to kill the process from the <adminuser>@softIOCmachine command line. Then try iocConsole again.
- Possible causes: hard iocs
- the IOC or terminal server are powered down, or not connected to the network
- there is a hardware problem with the terminal server or IOC
- the IOC is incorrectly entered in screeniocs (e.g. wrong port)
- the terminal server port needs resetting.
- prior iocConsole session needs cleaning up
- Things to try: hard iocs
- check screeniocs to make sure the data for your IOC are correct
- check to make sure the IOC and terminal server are up, and connected properly to the network (ping, etc.)
- try resetting the terminal server port for the IOC:
iocTSmgr iocname - try iocConsole -cleanup
(you must be logged in as iocegr or fiocegr to run iocTSmgr) - iocConsole iocname -cleanup
- Possible causes: soft iocs - for a soft ioc, this error condition often indicates that the soft IOC cannot start due to some IOC software or configuration problem, or has hung in some way.
...