[英]How to send a wakeup signal to a child from parent c++
int main()
{
pid_t pid=fork();
if(pid>0)
{
int a;
cout<<"do you want to wake up the child? 1=yes/0=no "<<endl;
cin>>a;
if(a==1)
{
kill(pid,SIGUSR2);
int status;
waitpid(pid,&status,0);
}
else
{
cout<<"i didn't wake up the child"<<endl;
}
exit(0);
}
if(pid==0)
{
pause();
cout<<"i'm starting working"<<endl;
int n=0;
for(int i=0; i<10; i++)
{
n+=4;
cout<<n<<endl;
}
exit(0);
}
我正在使用這些庫:好像孩子中的pause()沒從父母那里得到任何信號,孩子也不做輸出。 我在哪里做錯了?
從pause
手冊頁:
pause()使調用進程(或線程)進入休眠狀態,直到傳遞了終止該進程或導致調用信號捕獲功能的信號為止。
由於您沒有為SIGUSR2安裝任何處理程序,因此該信號會終止該過程,並且您看不到任何輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.