当前位置: 技术问答>linux和unix
关于进程间通讯!
来源: 互联网 发布时间:2014-12-09
本文导语: 有无法子向父进程发送自定义信号量?? up有分 | 当然可以 因为父进程和子进程都有个PID的,你把他们记下来,再用kill函数发给各个pid即可 | kill( getppid(), SIG_USR1 ); | ...
有无法子向父进程发送自定义信号量??
up有分
up有分
|
当然可以
因为父进程和子进程都有个PID的,你把他们记下来,再用kill函数发给各个pid即可
因为父进程和子进程都有个PID的,你把他们记下来,再用kill函数发给各个pid即可
|
kill( getppid(), SIG_USR1 );
|
子进程中:
kill( getppid(), SIG_USR1 );
父进程中:
sigset(SIGUSR1,sig_prog);
kill( getppid(), SIG_USR1 );
父进程中:
sigset(SIGUSR1,sig_prog);
|
学习:)
我也想问一下,在UNIX下可以为SIGUSR1,SIGUSR2信号量定义热键么?
就像Ctrl+C对应SIGINT一样。
我也想问一下,在UNIX下可以为SIGUSR1,SIGUSR2信号量定义热键么?
就像Ctrl+C对应SIGINT一样。
|
wake2000(coucou)说的正确
|
仔细看看发送信号应为:
kill( getppid(), SIGUSR1 );
接收信号:
1、定义信号处理函数:
static void sig_proc(int signo) {
if (signo==SIGUSR1) {
do someting
}
}
2、在要接受信号的进程中设置接受:
signal(SIGUSR1,sig_proc);
kill( getppid(), SIGUSR1 );
接收信号:
1、定义信号处理函数:
static void sig_proc(int signo) {
if (signo==SIGUSR1) {
do someting
}
}
2、在要接受信号的进程中设置接受:
signal(SIGUSR1,sig_proc);