c - 当接受 PID 作为输入时,是否可以进行任何理智的验证?

标签 c unix pid

我有一段代码接受要对其执行操作的进程的 PID。

除了执行任何系统调用来验证进程(稍后发生的事情)之外,我还能做些什么来断言进程 ID 是正常的吗?例如我永远不会接受 0,因为这对应用程序没有意义。

是否有任何具体的断言/属性可用于对 PID 值进行简单的健全性检查?

最佳答案

如果您使用的是 Linux,您可以尝试执行 access("/proc/$PID/")。 或者更一般地说,您可以按照 in this answer 的说明执行 kill(pid, 0)查看进程是否存在。

当然,无论你做什么,都会涉及到一个系统调用

关于c - 当接受 PID 作为输入时,是否可以进行任何理智的验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42503913/

相关文章:

c - C 中的“类”行为

c - 格式字符串利用,如何检索保存的指令指针?

在Linux中将物理地址转换为虚拟地址并读取其内容

bash - 在 sed 替换字符串中转义换行符

c - 按位运算符和 "endianness"

node.js - 彩色控制台日志使日志文件更大?

python - 重定向到通过 ssh 启动的远程 python 应用程序的文件输出

linux - 最后一个 pid 进程 linux

windows - NodeJS子进程PID与真实进程不符

c - 哪种是编写循环的最佳方式?