gpt4 book ai didi

linux - 在输出之前打印刚刚启动的进程的 pid

转载 作者:太空狗 更新时间:2023-10-29 12:13:17 24 4
gpt4 key购买 nike

我正在通过 SSH 控制远程 Linux 机器,我需要知道进程运行时的 pid 以及运行后的退出状态

我的尝试是通过 SSH 发出这个命令

my_cmd & echo $!; wait $!; echo $?;

因此输出如下,正是我需要的:

pid
...stdout...
exit_status

现在有时会发生显然命令太快,所以我得到类似的东西:

...stdout...
pid
exit_status

有没有办法阻止这种行为?

最佳答案

当你运行后台程序时,它是一个独立的进程,如果需要按定义的顺序输出,则有必要进行一些同步。但是这个问题可以通过 exec 和额外的 shell 脚本轻松解决:

第一个脚本,假设开始:

#!/bin/bash
start2 &
wait $!
echo $?

第二个脚本start2:

#!/bin/bash
echo $$
exec my_cmd

现在第一个脚本启动第二个脚本并等待结果。第二个脚本打印自己的 pid,然后执行将使用与第二个脚本相同的 pid 运行的程序。

关于linux - 在输出之前打印刚刚启动的进程的 pid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34120028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com