Я вошел в систему на сервере. Затем выполнил команду "screen -list", которая дает следующий результат:
Есть экран на:
11048.pts-0.devops (Отдельно)
27563.pst-0.devops (Отдельно)
1 сокет в / var / run / screen / S-root.
Теперь мне нужно завершить один из сеансов экрана, используя "screen -S -X quit". Перед завершением я хочу знать, какая команда выполняется на экране. Например, я запустил ./startup.sh (для tomcat) на экране с идентификатором «11048», но забыл об этом. Есть ли способ узнать, какая команда выполняется на этом экране с идентификатором 11048?
заранее спасибо
Синтаксис открытия экрана:
screen -r <pid>
так что первый экран будет «screen -r 11048» - чтобы снова отсоединить экран, введите ctrl + a d (как при удерживании ctrl при нажатии a, затем отпустите, затем d). Находясь на экране, вы также можете использовать ctrl + a "для перехода между экранами. Также вы должны знать, что если вы просто убьете 11048, процесс, запущенный на экране 11048, продолжит работу после выхода из экрана.
---- редактировать ----
О, я понимаю, о чем ты. Попробуйте отследить дочерние процессы:
seqb [~]# ps -ef | grep SCREEN
505 5835 1 0 Jun30 ? 00:00:01 SCREEN
505 19501 1 0 Feb27 ? 00:00:00 SCREEN
505 21852 1 0 Mar02 ? 00:00:07 SCREEN
root 22035 22006 0 19:05 pts/2 00:00:00 grep SCREEN
root 29668 1 0 Jul08 ? 00:00:00 SCREEN
seqb [~]# ps -ef | grep 29668
root 22038 22006 0 19:06 pts/2 00:00:00 grep 29668
root 29668 1 0 Jul08 ? 00:00:00 SCREEN
root 29669 29668 0 Jul08 pts/0 00:00:00 /bin/bash
seqb [~]# ps -ef | grep 29669
root 22047 29669 0 19:08 pts/0 00:00:00 sleep 600
root 22049 22006 0 19:08 pts/2 00:00:00 grep 29669
root 29669 29668 0 Jul08 pts/0 00:00:00 /bin/bash
поэтому, когда вы ищете pid экрана в ps -ef (29668), вы также получите процесс, который считает SCREEN своим родительским. Обычно это будет bash. Итак, когда вы ищете pid bash, вы обнаружите, что процесс выполняется в bash, в данном случае "sleep 600". Запустите ps -ef | голова -1, если это не совсем понятно.
Также есть ярлык - screen хранит в памяти последние 500 строк. Введите ctrl + a [, а затем клавишу вверх. Вы можете перейти к началу вывода, если имеется менее 500 строк вывода, вы можете увидеть, какая команда выполняется.