网站做数据监测,威海外贸网站建设多少钱,怎么建立一个网站卖东西,传统网站开发文章目录 八、进程信号1.信号 未完待续 八、进程信号
1.信号
信号和信号量之间没有任何关系。信号是Linux系统提供的让用户/进程给其他进程发送异步信息的一种方式。 常见信号#xff1a; 当信号产生时#xff0c;可选的处理方式有三种#xff1a;①忽略此信号。②执行该… 文章目录 八、进程信号1.信号 未完待续 八、进程信号
1.信号
信号和信号量之间没有任何关系。信号是Linux系统提供的让用户/进程给其他进程发送异步信息的一种方式。 常见信号 当信号产生时可选的处理方式有三种①忽略此信号。②执行该信号的默认处理动作。③自定义处理信号这种方式称为捕捉(Catch)一个信号。 可以使用 kill -9 杀掉指定进程。 kill -2 可以终止指定进程。不是杀死的。 接下来我们让进程对2号信号做出自定义行为。需要使用 signal 函数。 Makefile
testSig:Signal.ccg -o $ $^ -stdc11
.PHONY:clean
clean:rm -f testSigSignal.cc
#include iostream
#include unistd.h
#include sys/types.h
#include signal.h
using namespace std;void handler(int signo)
{// 打印收到的信号cout get a signal : signo endl;
}int main()
{signal(SIGINT, handler);while (true){cout I am activing, pid : getpid() endl;sleep(1);}return 0;
}此时进程当接收到2号信号时就输出了一句话并没有终止进程。
// 忽略信号 ignoresignal(SIGINT, SIG_IGN);当 signal 函数这样设置时就代表将 SIGINT 信号忽略。 信号可以由 kill 命令产生也能够从键盘上产生。比如 键盘上的 Ctrl C 会被操作系统解释成2号信号。 未完待续