chmod a+x 文件路径
还有一种运行Python py源文件的方式不需要py源文件有可执行权限,方法是用Python命令加py文件名的形式来运行源文件,如果是Python 2.x的Python源文件,就用python命令执行:python 文件名;如果是Python 3的Python源文件,就用python3命令执行:python3 文件名。
主要问题是 main函数里又定义了 p_action/c_action这两个局部变量导致的编译问题。另外程序写的实在不怎么规范,signal函数要求第二个参数是一个型为 void (*func) (int) 的函数指针,也就是说这个函数返回值应该是void,并要求一个int输入参数。我给你改了以下,用下面的代码就没问题了。#include<signal.h>
#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>
int ntimes=0
void p_action(int)
void c_action(int)
main()
{
int pid,ppid
signal(SIGUSR1,p_action)
switch(pid=fork()){
case -1:
perror("synchro")
break
case 0:
signal (SIGUSR1,c_action)
ppid=getppid()
printf("%d\n",ppid)
for()
{
sleep(1)
kill(ppid,SIGUSR1)
pause()
}
break
default:
printf("father\n")
for()
{
pause()
sleep(1)
kill(pid,SIGUSR1)
}
}
}
void p_action (int sig)
{
printf("p\n")
// printf("Patent caught signal #%d\n",++ntimes)
}
void c_action (int sig)
{
printf("c\n")
//printf("child caught signal #%d\n",++ntimes)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)