如何恢复Linux上的所有当前进程

时间:2018-01-19 16:52:16

标签: c++ linux

我需要使用c ++和linux恢复所有正在运行的进程。但我找不到lib或相应的功能。

我无法运行诸如" ps"等的linux命令。

1 个答案:

答案 0 :(得分:3)

(我猜你需要检查扫描列表发现流程;恢复流程是一件困难的事情,请阅读application checkpointing

您应该考虑使用proc(5),即/proc/文件系统(特定于Linux)。

pid 1234的过程由/proc/1234/目录描述。在终端中尝试ls /proc/$$/

因此,您可以在/proc/上使用适当的调用(例如opendir(3)readdir(3)closedir(3)stat(2)等等)来探索流程文件树(这是pstop等正在使用的文件树;请查看strace(1) ...)。

请注意/proc/下的许多文件具有stat(2)给出的0大小,但是可以顺序读取(有点像管道)。试着举例stat /proc/$$/status然后cat /proc/$$/status。另请参阅this