大佬教程收集整理的这篇文章主要介绍了c – 2个程序之间的信号,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include<stdio.h> #include<stdlib.h> #include<signal.h> #include<unistd.h> #include<time.h> void my_handler(int); int main(int argc,char *argv[]){ FILE *fp; fp=fopen(argv[1],"w"); kill(atol(argv[2]),SIGUSR1); }
第二个计划:
#include<stdio.h> #include<stdlib.h> #include<signal.h> #include<unistd.h> #include<time.h> void my_handler(int signum){ if (signum == SIGUSR1) { printf("Received SIGUSR1!\n"); } } int main(int argc,char *argv[]){ int pid; pid=getpid(); printf("PID: %d\n",pid); signal(SIGUSR1,my_handler); pause(); }
有办法吗?或者我应该以某种方式将第一个程序的pid放在SIGUSR1中,第二个程序可以找出pid?
siginfo_t
的si_pid成员访问发送方的PID,但您需要使用sigaction和SA_SIGINFO标志来定义处理程序.
非POSIX系统(例如Windows)甚至可能不具有信号的概念(至少不具有POSIX意义),因此这些都不适用.
以上是大佬教程为你收集整理的c – 2个程序之间的信号全部内容,希望文章能够帮你解决c – 2个程序之间的信号所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。