1

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

4

2 回答 2

0

ipmitool 将 SOL 数据写入出色的输出(stdout)文件描述符。在后台调用时,ipmitool 无法写入标准输出,因此您看不到控制台日志。

如果要将其作为后台进程运行,则将标准输出重定向到一个文件并尾随该文件。

于 2014-02-19T15:47:27.247 回答
0

我有这个问题。重定向标准输出的解决方案是不够的。这最终起作用了:

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来自这个答案。那里列出了一些其他解决方案,但我没有尝试过。

--pid="$$"意味着当父进程被杀死时,这个进程将被杀死,这是我想要的,但可能符合也可能不符合您的需要。您可能需要一些机制来避免tail -f僵尸。

于 2017-10-24T21:17:37.983 回答