我有一段代码接受要对其执行操作的进程的 PID。
除了执行任何系统调用来验证进程(稍后发生的事情)之外,我还能做些什么来断言进程 ID 是正常的吗?例如我永远不会接受 0
,因为这对应用程序没有意义。
是否有任何具体的断言/属性可用于对 PID 值进行简单的健全性检查?
最佳答案
如果您使用的是 Linux,您可以尝试执行 access("/proc/$PID/")
。
或者更一般地说,您可以按照 in this answer 的说明执行 kill(pid, 0)
查看进程是否存在。
当然,无论你做什么,都会涉及到一个系统调用
关于c - 当接受 PID 作为输入时,是否可以进行任何理智的验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42503913/