我遇到的情况是,在某些情况下挂起或运行太长时间的进程应该被杀死。另外,我不希望进程占用CPU时间的100%。我想我应该把cpulimit和timeout结合起来。
我可以让每个命令单独工作,但不能一起工作:
cpulimit -l 20 -- /usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx
timeout -k 6 -s 15 6s /usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx我想做这样的事情:
cpulimit -l 20 -- | timeout -k 6 -s 15 6s /usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx发布于 2019-01-08 18:16:30
您可以尝试将timeout命令作为cpulimit的参数运行:
cpulimit -l 20 -- timeout -k 6 -s 15 6s /usr/lib/libreoffice/program/soffice.bin --headless --convert-to pdf broken.docx请注意,这与您的最后一个示例完全一样,但是没有管道| (管道链是第一个进程的输出,第二个进程的输入不是您想要的)。
https://serverfault.com/questions/948061
复制相似问题