Linux jobs命令 - 如何查看正在运行的进程的完整路径

时间:2015-02-03 12:41:19

标签: linux shell tcsh suse

我正在使用Linux SUSE 11并运行大量工作。 每项工作的路径都很长,例如:

cmd>/user/data/some/very/very/very/long/path/to/my/command/run_me param0 param1 param2

当我运行很多这些命令时,我想知道哪些已经完成,哪些已经运行。一天左右后说吧。 使用'工作'命令我只看到以下内容:

[1]  + Running                        ...
[2]  + Running                        ...
[3]  + Running                        ...
[4]  + Running                        ...

所以我无法知道哪个确切的命令正在运行。

使用top命令也没有帮助,因为是显示进程而不是我正在运行的确切脚本/程序。

我的shell是/usr/bin/tcsh

1 个答案:

答案 0 :(得分:1)

tcsh jobs -l中,ps会给你一个" long"包含PID的列表。然后,您可以使用此编号检查/proc的作业,或在% jobs -l [1] + 19038 Running tail --follow=name /path/to/long/and/complex /long/and/complex/files /and/so/on ... 伪文件系统或其他任何地方进行搜索。

19038

在此商家信息中,您可以抓住% ps -o args= --width 1200 19945 tail --follow=name /path/to/long/and/complex /long/and/complex/files /and/so/on /really/long /etc/motd 并查看其实际行动。

% tr '\0' '\n' </proc/19038/cmdline 
tail
--follow=name
/path/to/long/and/complex
/long/and/complex/files
/and/so/on
/really/long
/etc/motd

以及

top

或有点混乱,% setenv COLUMNS 512 % top -b -n1 -c -p 19038

{{1}}

(输出太难看了,不能添加任何有用的东西。)