मैंने setpgid() के लिए फ़ंक्शन का काम किया जब मैं इस फ़ंक्शन को निष्पादित करता हूं तो परिणाम अस्वीकार कर दिया जाएगा। तो मैंने रूट उपयोगकर्ता के रूप में लॉग इन किया है कि समय भी त्रुटि संदेश को प्रिंट करेगा क्योंकि अनुमति अस्वीकार कर दी गई है। तो कौन सा उपयोगकर्ता इस फ़ंक्शन का उपयोग कर सकता है। क्या कोई मुझे समझा सकता है?कौन सा उपयोगकर्ता setpgid() फ़ंक्शन का उपयोग कर सकता है?
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
main()
{
printf("parent pid=%d\tpgid=%d\n",getpid(),getpgid(getpid()));
pid_t pid,pgid;
pgid=getpgid(getpid());
if((pid=fork())==0)
{
printf("befor sessionchild pid=%d\tpgid=%d\n",getpid(),getpgid(getpid()));
sleep(5);
pid_t p;
printf("child pid=%d\tpgid=%d\n",getpid(),getpgid(getpid()));
if((p=fork())==0){
sleep(2);
setsid();
printf("child2 pid=%d\tpgid=%d\n",getpid(),getpgid(getpid()));
setpgid(getpid(),pgid);
perror("Error");
printf("after setting group id child2 pid=%d\tpgid=%d\n",getpid(),getpgid(getpid()));
}
wait(0);
exit(0);
}
exit(0);
}
मुझे पूरा यकीन नहीं है, लेकिन हो सकता है कि सत्र आईडी से संबंधित कुछ हो? –