Проверьте наличие переменной среды $ENV{'STY'}
в любых программах, работающих внутри screen
.
По крайней мере, в моей системе MacOS X 10.6 он содержит идентификатор сеанса, например ::
29379.ttys000.hostname
и где первое поле - PID.
С снаружи screen
, вы можете запустить:
screen -list
чтобы получить список всех ваших сессий.
В противном случае неясно, как вы на самом деле запускаете screen
из своего скрипта, но если вы используете стандартную модель fork / exec
, тогда дочерний PID, доступный после вызова fork
, будет требуемым PID. См. man perlipc
для получения дополнительной информации о том, как создать дочернюю программу и взаимодействовать с ней.