我正在使用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
答案 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}}
(输出太难看了,不能添加任何有用的东西。)