【发布时间】:2013-04-01 09:46:15
【问题描述】:
我有一个 bash 脚本,我通过将 SIGTERM 信号发送到它的进程 ID 来终止正在运行的进程。但是,我想知道我刚刚发送信号的进程的返回码。
这可能吗?
我不能使用“等待”,因为要终止的进程不是从我的脚本开始的,而且我正在接收 “pid ##### 不是这个 shell 的孩子”
我在命令行中进行了一些测试,在进程运行的控制台中,在我发送 SIGTERM 信号(从另一个控制台)之后,我检查了退出代码,它是 143。 我想从另一个脚本中终止该进程并捕获该数字。
【问题讨论】:
-
是的,但我无法在控制台中执行该操作,因为正在运行的进程和我发送信号的脚本都是后台进程
-
鉴于您的限制,这是不可能的。唯一的希望是将进程包装在可以将其退出代码捕获到文件中或回显到 stdout/err 的东西中。我会很高兴被证明是错误的。祝你好运。
-
如果你想知道一个进程的返回码,最好不要杀死它...