Проверка переменной среды $ENV{'STY'}
в любых программах работы внутриscreen
.
На моих MacOS X 10.6 системы, по крайней мере, он содержит идентификатор сеанса, например .:
29379.ttys000.hostname
и где первое поле является ПИД.
От внеscreen
, вы можете запустить:
screen -list
, чтобы получить список всех ваших сессий.
В противном случае, это не ясно, как вы на самом деле, начиная с screen
в пределах вашего сценария, но если вы используете стандартную fork/exec
модель, то ребенок PID доступен после вызова fork
будет искомая PID. См. man perlipc
для получения дополнительной информации о том, как развернуть дочернюю программу и взаимодействовать с ней.
Вы говорите о окнах, открытых вашим скриптом или независимо от вашего сценария? – flesk
, открытый моим скриптом, поэтому, если я запустил 'screen -d -m -s server1', я хочу, чтобы экран возвращал мне что-то вроде' 24031', которое было бы pid, даже если бы я мог вернуть его обратно весь идентификатор сеанса как '24031.server1', немного регулярное выражение разрешит это. – ianc1215