我知道 GNU Parallel 缓冲区 std/stderr 因为它不希望作业输出被破坏,但是如果我用 运行我的作业parallel do_something ::: task_1 task_2 task_3
,无论如何要立即显示 task_1 的输出,然后在 task_1 完成后,task_2 一直到它的当前输出等
如果 Parallel 不能解决这个问题,有没有其他类似的程序可以解决这个问题?
我昨天在我们的一台服务器上遇到了这种奇怪的行为。ps
,pgrep
并且htop
(在启动时)非常慢。strace ps
表明read('/proc/$pid/cmdline
) 在某些进程上花费了几秒钟。为什么会这样?
一些观察:
unlink
和symlink
操作文件while true; do cat /proc/$pid/status; sleep .1; done
,cat
如果State
是S
或 则立即返回R
,但是当State
是时需要几秒钟D
我做了一些谷歌搜索,发现了一些 SO 答案,表明当State
是时D
,阅读/proc/$pid/cmdline
会停滞。真的吗?这是如何运作的?为什么/proc/$pid/cmdline
在程序开始之前设置的 会受到之后它所做的事情的影响?