我想检测某个进程何时卡住,但它没有给我任何有关此事的线索。我所知道的是,如果它在给定的超时时间内(比如 30 秒)没有产生任何输出,则意味着它可能被阻止了。
我知道 coreutils 的timeout程序,但它基于完整的程序退出时间,而不是最后一行的输出时间。如果这样的事情有效,我会很高兴:
timeout --stdout --stderr 30s my-program
Run Code Online (Sandbox Code Playgroud)
那么有没有办法做到这一点?我该怎么做?