代码之家  ›  专栏  ›  技术社区  ›  Wizzardzz

C程序中的陷阱命令?[副本]

  •  0
  • Wizzardzz  · 技术社区  · 7 年前

    我想经营一家公司 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、 出去 因为我认为这是一个时间问题第一次也没有成功。。。

    我如何让它在一个小时内工作 或者这可能吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Petr Skocik    7 年前

    trap '' INT 忽视 SIGINT

    trap '' 2
    cd /Users/me
    ./a.out
    

    信号 对于下面的内容,它无法向上提升流程层次结构。

    幸运的是,这不是很难忽视的 信号 从C。

    #include <signal.h>
    int main()
    {
       //....
       signal(SIGINT,SIG_IGN); // `trap '' INT` in C
       //^should never fail unless the args are buggy
       //...
    }