我正在使用ipmitool通过SOL获取远程控制台输出。这是从后台进程中调用的。当我在前台调用它时,它会正确地将控制台输出记录到日志文件中。但是当在后台调用ipmitool时,ipmitool不起作用。知道为什么吗?
发布于 2014-02-19 23:47:27
ipmitool在output输出(Stdout)文件描述符上写入SOL数据。在后台调用时,ipmitool无法写入stdout,因为您看不到控制台日志。
如果您希望将其作为后台进程运行,则将stdout重定向到一个文件并跟踪该文件。
发布于 2017-10-25 05:17:38
我有这个问题。重定向标准输出的解决方案是不够的。这最终起作用了:
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僵尸。
https://stackoverflow.com/questions/19994885
复制相似问题