Hanya ingin tahu tentang perbedaan antara sinyal SIGSTOP dan SIGTSTP.
Hanya ingin tahu tentang perbedaan antara sinyal SIGSTOP dan SIGTSTP.
Jawaban:
Kedua sinyal tersebut dirancang untuk menghentikan proses yang pada akhirnya akan dilanjutkan SIGCONT
. Perbedaan utama di antara mereka adalah:
SIGSTOP
adalah sinyal yang dikirim pemrograman (misalnya: kill -STOP pid
) sementara SIGTSTP
(untuk sig nal - t erminal berhenti ) juga dapat dikirim melalui tty
sopir oleh pengguna mengetik pada keyboard, biasanya Control- Z.
SIGSTOP
tidak bisa diabaikan. SIGTSTP
mungkin.
Control-Z
tidak memicu SIGTSTP
atau menurut Anda seharusnya tidak?
terminal stop
berarti TSTP.
/usr/include/x86_64-linux-gnu/bits/signum.h
#define SIGSTOP 19 /* Stop, unblockable (POSIX). */
#define SIGTSTP 20 /* Keyboard stop (POSIX). */
/usr/include/sys/iso/signal_iso.h
/usr/include/sys/signal.h
SIGSTOP tidak dapat diabaikan oleh proses yang ditargetkan.
Contoh bagusnya adalah pemutar video mpv
, dapat diabaikan SIGTSTP
tetapi tidak SIGSTOP
.
Anda dapat menguji dengan video yang sedang berjalan:
kill -SIGTSTP $(pidof mpv)
dan
kill -SIGSTOP $(pidof mpv)
Tentu saja kill -SIGCONT $(pidof mpv)
untuk melanjutkan bermain.