【发布时间】:2018-12-29 10:44:51
【问题描述】:
我想从 C 程序运行 trap '' 2 命令,以在运行 a.out 时阻止 ctrl-c。
#define TRAP "trap '' 2"
int main()
{
system(TRAP);
...
}
我可以从同样运行程序的.sh 文件中使其工作,但我希望所有内容都在一个.c 文件中。
trap '' 2
cd /Users/me
./a.out
然后我尝试创建另一个运行脚本的.c 文件,然后启动第一个a.out,因为我认为这是第一次没有成功的时间问题...
我怎样才能让它在单个 a.out 中工作,或者这甚至可能吗?
【问题讨论】:
-
trap命令内置于 shell 本身,只影响当前运行的 shell,不影响其他进程。如果您想防止Ctrl-C破坏您的程序(通常是个坏主意),请查看 signals 和SIGBREAK。