开发者

Stopping own process

开发者 https://www.devze.com 2023-03-08 09:02 出处:网络
The concerned code is very huge and hence i am sorry i cannot post it here. The issue is:- I wrote a small program as follows:

The concerned code is very huge and hence i am sorry i cannot post it here. The issue is:- I wrote a small program as follows:

#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
#include<signal.h>
int main()
{
printf("\n Process id",getpid());
fflush(stdout);
if(kill(getpid(),SIGSTOP)!=0)
    printf("\nError");
}

Upon running i get the following o/p:

Process id 2664

[1]+ stopped ./test_SIGSTOP

[Directory Path]$

Which is exactly what is expected. But in my actual program which i said is very huge...con开发者_运维问答trol comes to just above the kill call(I know it as I have print statements and fflushed them) and hangs without automatically stopping the process and appearence of the command prompt. Would be gratefull for pointers. Thank


You can attach a debugger to a running program and find out where/why it hangs. Also, the raise() function is more convenient to use. But first, use ps and inspect the process's flags to confirm its status (running / sleeping / stopped).

0

精彩评论

暂无评论...
验证码 换一张
取 消