C++ 当我使用boost::this_thread::sleep时,/proc/{pid}中的pid目录会发生什么变化?

C++ 当我使用boost::this_thread::sleep时,/proc/{pid}中的pid目录会发生什么变化?,c++,linux,C++,Linux,我有一个程序,它可以跟踪其他进程,不管它们是终止的还是仍在运行的,我在/proc中查找它们的pid目录 但是当一个进程进入睡眠状态时,它的目录是不是因为它是我的监视进程而消失了?显示它已终止。忽略您的拼写,否-如果您运行的是linux,您的睡眠进程仍将显示在/proc中。您可以通过创建一个程序sleep.sh来尝试这一点 #!/bin/bash sleep 5000 然后在后台运行它 ./sleep.sh & 然后 ls -l /proc/$! 美元!是处于休眠状态的后台进程的pi

我有一个程序,它可以跟踪其他进程,不管它们是终止的还是仍在运行的,我在/proc中查找它们的pid目录


但是当一个进程进入睡眠状态时,它的目录是不是因为它是我的监视进程而消失了?显示它已终止。

忽略您的拼写,否-如果您运行的是linux,您的睡眠进程仍将显示在/proc中。您可以通过创建一个程序sleep.sh来尝试这一点

#!/bin/bash
sleep 5000
然后在后台运行它

./sleep.sh &
然后

ls -l /proc/$!
美元!是处于休眠状态的后台进程的pid


单独-通过轮询/proc跟踪进程是活的还是死的通常不是一个好主意。当您正在跟踪的进程消失时,另一个具有完全相同pid的进程将启动,这是完全可能的。

我认为,如果您实际查看该目录,您会发现它没有消失。因此,您的程序中可能存在一个错误,即它如何判断程序是否正在运行。你的问题是什么?