Apa perbedaan antara SIGSTOP dan SIGTSTP?

103

Hanya ingin tahu tentang perbedaan antara sinyal SIGSTOP dan SIGTSTP.

pengguna1419715
sumber

Jawaban:

153

Kedua sinyal tersebut dirancang untuk menghentikan proses yang pada akhirnya akan dilanjutkan SIGCONT. Perbedaan utama di antara mereka adalah:

  • SIGSTOPadalah sinyal yang dikirim pemrograman (misalnya: kill -STOP pid) sementara SIGTSTP(untuk sig nal - t erminal berhenti ) juga dapat dikirim melalui ttysopir oleh pengguna mengetik pada keyboard, biasanya Control- Z.

  • SIGSTOPtidak bisa diabaikan. SIGTSTPmungkin.

jlliagre.dll
sumber
10
Faktoid: Jika Anda seorang programmer linux, SIGTSTP adalah apa yang Anda dapatkan saat Anda menggunakan Ctrl-Z untuk menghentikan proses yang berjalan di shell tanpa mematikannya. Ini biasanya menyebabkan shell untuk meletakkannya di daftar pekerjaan yang ditangguhkan.
simpleuser
@Archer Saya tidak yakin untuk memahami komentar Anda. Apakah maksud Anda Anda yakin Control-Ztidak memicu SIGTSTPatau menurut Anda seharusnya tidak?
jlliagre
@jlliagre Saya melakukan survei lebih dekat, dan ternyata Anda benar. Saya menghapus komentar sebelumnya.
Pemanah
@Archer Ok, tebakan saya adalah Anda bingung dengan terminologi halaman manual. terminal stopberarti TSTP.
jlliagre
@jlliagre Saya ingin, tetapi sistem tidak mengizinkannya, ia mengatakan saya hanya dapat membatalkan downvote jika jawabannya diedit…
Archer
39

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

#define SIGSTOP     19  /* Stop, unblockable (POSIX).  */
#define SIGTSTP     20  /* Keyboard stop (POSIX).  */
Royce Chao
sumber
6
Pada Solaris 10, sinyal didefinisikan dalam file header/usr/include/sys/iso/signal_iso.h
Kent Pawar
2
Di FreeBSD 11 ada di/usr/include/sys/signal.h
Greg Schmit
1

SIGSTOP tidak dapat diabaikan oleh proses yang ditargetkan.

Contoh bagusnya adalah pemutar video mpv, dapat diabaikan SIGTSTPtetapi 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.

bob dylan
sumber