我有一个清理过程,它需要终止将PID作为参数传递给它的进程。
我可以很好地使用kill(pid_t, SIGKILL)
来杀死它。然而,我得到的PID是一个整数值。所以我不能得到一个pid_t。有没有办法使用整数pid来杀死进程?
好。我可以很好地使用system("kill -9 <pid>");
我正在寻找C的解决方案。
答案 0 :(得分:2)
PID是如何首先进入整数类型的?如果您的函数采用PID,则应将其作为pid_t
。如果它是文本参数,则应将其解析为pid_t
,而不是int
。
除非你有一些不寻常的情况,你应该存储PID的唯一类似整数的变量是pid_t
。
答案 1 :(得分:1)
pid_t
实际上是一个整数!
答案 2 :(得分:1)
pid_t
是有符号整数。见libc。只需使用整数值作为kill
答案 3 :(得分:1)
pid_t是types.h中定义的数据类型。它只是一个有符号整数类型。
您是否尝试直接将整数分配给pid_t变量? 它没用吗?