我在屏幕上运行的Whic命令?

我已经login在一个服务器。然后发出“screen -list”命令给出以下输出 –

有一个屏幕上:
11048.pts-0.devops(分离)
27563.pst-0.devops(分离)
1在/ var / run / screen / S-root中的套接字。

现在我必须使用“screen -S -X quit”来终止其中一个屏幕会话。 在终止之前,我想知道哪个命令正在屏幕上运行。例如,我已经运行“./startup.sh”(对于tomcat)在屏幕上的ID为“11048”,但我忘了它。 有没有什么办法find哪个命令在这个屏幕上运行,ID为11048?

提前致谢

打开屏幕的语法是:

screen -r <pid> 

所以第一个屏幕将是“屏幕-r 11048” – 再次分离屏幕typesCTRL +广告(如按住ctrl,同时按a,然后释放,然后d)。 一旦进入屏幕,你也可以使用ctrl + a来在屏幕之间导航。你也应该知道,如果你只是杀了11048,在屏幕退出之后屏幕11048上运行的进程将继续运行。

—-编辑—-

哦,我明白你的意思了。 尝试追踪subprocess:

 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 

所以当你在ps -ef(29668)中search屏幕的pid的时候,你也会得到一个将SCREEN认定为父节点的过程。 那通常是bash。 那么当你searchbash的pid的时候,你会发现这个进程在bash中运行,在这个例子中是“sleep 600”。 运行ps -ef | 头-1,如果它不太合理。

还有一个快捷方式 – 屏幕保留最后500行内存。 键入ctrl + a [然后向上键。 你可以去输出的顶部,如果输出less于500行,你可以看到什么命令正在运行。