What is the difference between SIGSTOP and SIGTSTP?

前端 未结 3 1730
南方客
南方客 2020-11-30 19:00

Just wondering about the difference between SIGSTOP and SIGTSTP signals.

相关标签:
3条回答
  • 2020-11-30 19:20

    Both signals are designed to suspend a process which will be eventually resumed with SIGCONT. The main differences between them are:

    • SIGSTOP is a signal sent programmatically (eg: kill -STOP pid ) while SIGTSTP (for signal - terminal stop) may also be sent through the tty driver by a user typing on a keyboard, usually Control-Z.

    • SIGSTOP cannot be ignored. SIGTSTP might be.

    0 讨论(0)
  • 2020-11-30 19:20

    SIGSTOP can't be ignored by the targetted process.

    A good example of that is the video player mpv, it can ignore SIGTSTP but not SIGSTOP.

    You can test with a video running :

    kill -SIGTSTP $(pidof mpv) and kill -SIGSTOP $(pidof mpv)

    Of course kill -SIGCONT $(pidof mpv) to resume playing.

    0 讨论(0)
  • 2020-11-30 19:25

    /usr/include/x86_64-linux-gnu/bits/signum.h

    #define SIGSTOP     19  /* Stop, unblockable (POSIX).  */
    #define SIGTSTP     20  /* Keyboard stop (POSIX).  */
    
    0 讨论(0)
提交回复
热议问题