当前位置: 技术问答>linux和unix
新手问个信号的问题。
来源: 互联网 发布时间:2015-10-12
本文导语: 象这种情况: act.sa_handler=sig_int; sigaction(SIGINT,&act,NULL); 或者 signal(SIGINT,sig_int); 当SIGINT信号产生的时候,就执行sig_int,是这样吧? SIGINT是通过键盘产生的,我想问的是:能不能通过运行程序来产生信号的? 比如说:当...
象这种情况:
act.sa_handler=sig_int;
sigaction(SIGINT,&act,NULL);
或者
signal(SIGINT,sig_int);
当SIGINT信号产生的时候,就执行sig_int,是这样吧?
SIGINT是通过键盘产生的,我想问的是:能不能通过运行程序来产生信号的?
比如说:当运行程序程序A时,同时触发一个信号SIG。
act.sa_handler=sig_int;
sigaction(SIGINT,&act,NULL);
或者
signal(SIGINT,sig_int);
当SIGINT信号产生的时候,就执行sig_int,是这样吧?
SIGINT是通过键盘产生的,我想问的是:能不能通过运行程序来产生信号的?
比如说:当运行程序程序A时,同时触发一个信号SIG。
|
当然可以,使用kill函数。用法参考man kill
|
raise()给进程自己发USR1信号