Я хочу запустить программу с SSH с использованием PHP, которая работает нормально, но теперь я хочу убить экран с помощью PHP, но единственное, что я знаю, это имя экрана. Как узнать идентификатор экрана (автоматически)?
ubuntu
ssh
gnu-screen
php
TheWaveLad
источник
источник
screen
илиDISPLAY
?Ответы:
Вы можете использовать переменную окружения,
$STY
чтобы определить, находитесь ли вы в сеансе экрана, а также в каком имени сеанса вы находитесь.пример
Первоначально мы сидим в окне терминала, а не внутри сеанса экрана.
Ускорьте сеанс экрана:
Подключитесь к нему:
Сессия внутри экрана:
Убить сеанс
С именем сессии вы можете убить его, используя
screen
.Вы также можете использовать номер там тоже.
Подтвердите, что его убили:
источник
Вы имеете в виду
screen
программу?screen -ls
отобразит экранные процессы вместе с их отображаемым именем, с добавлением идентификатора PID, с которого они работают:Вы можете использовать это, чтобы убить процесс:
В качестве альтернативы, если вы можете идентифицировать процесс php с помощью ps, тогда его родительский идентификатор будет отображаться на экране, и вы можете убить его.
pgrep -U <myusername> -f <name>
поможет найти php-процесс, который вы хотите найти (обратите внимание на тот,-f
который ищет аргументы команды, а также имя команды). Возможно, вы используете более одного php-скрипта, поэтому-f
это будет лучший механизм для соответствия вашему процессу.<myusername>
будет вашим именем пользователя,<name>
будет строкой, чтобы соответствовать процессу. Затем вы можете использовать,ps -p <pid> -o ppid=
чтобы получить идентификатор процесса экрана и убить его.источник