繁体   English   中英

完成一个过程(通过pid)后运行命令

[英]Run command after one process (by pid) complete

我需要通过shell脚本(Linux和Windows)检查进程是否完成。 我知道的是进程ID。 一旦过程完成,外壳程序将调用其他命令。 有人可以告诉我如何编写外壳程序吗?

在Linux上,您可以使用ps -p $ PID来检查进程,因此您可以编写一个while循环来检查例如ps -p $PID | wc -l ps -p $PID | wc -l (计算行数,如果处理完成,输出将减少行数)。 您可以在这种情况下中断while循环,然后执行所有其他代码。 我无法编写代码段,因为目前无法访问shell。

如果我没看错...我想您正在尝试检查该过程是否已完成。 如果是,您可以这样做

Linux:

ps -ef|grep pid|grep -v grep

视窗:

tasklist /FI PID eq "PID Value"

如果需要使用Java或其他一些语言来使用它,则可以使用以下命令字符串之一。

视窗:

cmd /c tasklist /FI "PID eq  pidStr"

Linux:

ps -p  pidStr

Windows示例:

C:\Windows\System32>cmd /c tasklist /FI "PID eq 5565"
INFO: No tasks are running which match the specified criteria.

C:\Windows\System32>cmd /c tasklist /FI "PID eq 11144"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
bash.exe                     11144 Console                    1      4,808 K

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM