1

我目前正在使用信号编写程序,但遇到了这个麻烦:

如何在不发送SIGSTOP/的情况下将执行程序的状态更改为停止/运行SIGCONT

我明白,我需要使用:

 void add_to_runqueue (struct task_struct * p)

void del_from_runqueue (struct task_struct * p)

但是如何获取当前运行进程的结构task_struct呢?

另外:如果这就是我需要做的一切(调用这两个函数)。

提前致谢!

4

1 回答 1

2

这些函数将是内核函数,即操作系统的内部函数。当您编写程序时,您需要通过适当的系统调用,在您的情况下kill

当你有一个程序进程 ID(即它的编号)时,你可以使用

kill(pid, SIGSTOP);

kill(pid, SIGCONT);

SIGTSTP除非您知道自己在做什么,否则不应使用。

于 2011-06-07T09:02:38.240 回答