【发布时间】:2016-11-30 21:31:07
【问题描述】:
我的 bash 脚本中有两个程序:
program1 | program2
问题是程序 2 可能会崩溃,我想确保当它崩溃时,程序 1 也会结束。我试图通过杀死 program2 来测试这一点
pkill program2
在执行期间,但程序 1 继续运行。
据我了解,很多人都在问如何让program1继续运行,因为它默认被杀死。我错过了什么吗?
【问题讨论】:
-
program1在尝试写入管道之前不会注意到program2已死。大多数程序一旦这样做就会退出。 -
解决方法:让您的程序 1 打印进度条或点或其他东西。
-
实际上 program1 在某个时期为 program2 提供持续输入,当 program2 死机时,我在控制台上收到某种 program1 的内部错误日志(libpng 错误:写入错误)
-
但它仍在尝试每 x 秒写入一次