У меня есть этот экранный процесс, который открыл мой последовательный порт:
$ sudo lsof | grep /dev/ttyS0
screen 23520 root 6u CHR 4,64 0t0 1421 /dev/ttyS0
$ cd /proc/23520
$ head -n 5 status
Name: screen
State: S (sleeping)
Tgid: 23520
Pid: 23520
$ screen -ls
There is a screen on:
21200.pts-1.porkypig (07/10/2013 12:25:42 PM) (Detached)
$ screen -r 21200.pts-1.porkypig
Когда я снова подключился к сеансу экрана, чтобы увидеть, что именно он делает. Я вижу этот длинный журнал информации. Это похоже на результат «tail -f», то есть непрерывный журнал.
/proc/23520 $ cd cwd
pwd
/proc/23520/cwd
ls -l
-rw-r--r-- 1 root root 2147 2013-10-07 17:55 minicom.log
Когда я переключаюсь в каталог (cwd), из которого этот процесс запускался, я замечаю minicom.log, что заставляет меня подозревать, что пользователь запускал что-то вроде «tail -f minicom.log».
Я знаю, что в linux мы можем использовать историю для отслеживания выполняемых команд. Но как я могу подтвердить, что команда была запущена, чтобы отобразить то, что я сейчас просматриваю в своем сеансе экрана?
В вашем случае PID экрана - 21200 (согласно команде screen -ls). Таким образом, pstree 21200 будет делать. Аналогично, htop в режиме дерева (нажмите [F5]) также увидит дерево процесса.