来自 C 程序的陷阱命令?
Trap command from C program?
我想 运行 来自 C 程序的 trap '' 2
命令来防止 ctrl-c
当 a.out
是 运行.
#define TRAP "trap '' 2"
int main()
{
system(TRAP);
...
}
我可以从一个 .sh
文件让它工作,该文件也是 运行 程序,但我希望所有内容都在一个 .c
文件中。
trap '' 2
cd /Users/me
./a.out
然后我尝试制作另一个 .c
文件 运行 脚本然后启动第一个 a.out
因为我认为这是第一次没有成功的时间问题...
我怎样才能让它在单个 a.out
内工作或者甚至可能?
trap '' INT
忽略 SIGINT
。忽略处置会继承到子进程,因此:
trap '' 2
cd /Users/me
./a.out
忽略 SIGINT
下面的内容,但它不能在进程层次结构中工作。
幸运的是,从 C.
中忽略 SIGINT
并不难
#include <signal.h>
int main()
{
//....
signal(SIGINT,SIG_IGN); // `trap '' INT` in C
//^should never fail unless the args are buggy
//...
}
我想 运行 来自 C 程序的 trap '' 2
命令来防止 ctrl-c
当 a.out
是 运行.
#define TRAP "trap '' 2"
int main()
{
system(TRAP);
...
}
我可以从一个 .sh
文件让它工作,该文件也是 运行 程序,但我希望所有内容都在一个 .c
文件中。
trap '' 2
cd /Users/me
./a.out
然后我尝试制作另一个 .c
文件 运行 脚本然后启动第一个 a.out
因为我认为这是第一次没有成功的时间问题...
我怎样才能让它在单个 a.out
内工作或者甚至可能?
trap '' INT
忽略 SIGINT
。忽略处置会继承到子进程,因此:
trap '' 2
cd /Users/me
./a.out
忽略 SIGINT
下面的内容,但它不能在进程层次结构中工作。
幸运的是,从 C.
中忽略SIGINT
并不难
#include <signal.h>
int main()
{
//....
signal(SIGINT,SIG_IGN); // `trap '' INT` in C
//^should never fail unless the args are buggy
//...
}