簡體   English   中英

如何從父C ++向孩子發送喚醒信號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM