我需要通过shell脚本(linux和windows)检查进程是否完成。我所知道的是进程ID。一旦完成该过程,shell将调用其他命令。有人能告诉我如何编写shell吗?
答案 0 :(得分:2)
在Linux上,您可以使用ps -p $ PID来检查进程,因此您可以编写一个while循环来检查例如ps -p $PID | wc -l
(这会对行进行计数,如果过程完成,则输出将导致较少的行)。你可以在这种情况下打破while循环,然后执行所有其他代码。我不能写一个片段,因为我目前无法访问shell。
答案 1 :(得分:1)
如果我没有错......我认为您正在尝试检查该过程是否已完成。如果是,您可以这样做
Linux的:
ps -ef|grep pid|grep -v grep
视窗:
tasklist /FI PID eq "PID Value"
答案 2 :(得分:0)
如果您需要在Java或其他语言中使用它,您可以使用以下命令字符串之一。
Windows:
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