ipmitool在后台调用时停止

时间:2013-11-15 06:31:35

标签: background-process ipmitool

我正在使用ipmitool通过SOL获取远程控制台输出。这是从后台进程中调用的。当我在前台调用它时,它会正确地将控制台输出记录到日志文件中。但是在后台调用时,ipmitool不起作用。知道为什么吗?

2 个答案:

答案 0 :(得分:0)

ipmitool在突出输出(stdout)文件描述符上写入SOL数据。在后台调用时,ipmitool无法写入stdout,因为您没有看到控制台日志。

如果要将其作为后台进程运行,请将stdout重定向到文件并拖尾该文件。

答案 1 :(得分:0)

我有这个问题。重定向stdout的解决方案还不够。 最终工作:

tail -f /dev/null --pid="$$" \
    | ipmitool -H "$ip" -U "$username" -P "$password" -I lanplus sol activate \
    2>> stderr.txt >> stdout.txt &

使用tail -f /dev/null的想法来自this answer。那里列出了一些其他解决方案,但我没有尝试过。

--pid="$$"表示当父进程被杀死时,此进程将被终止,这正是我想要的,但可能适合您的需求,也可能不适合您。您可能需要一些机制来避免tail -f僵尸。