Sadece SIGSTOP ve SIGTSTP sinyalleri arasındaki farkı merak ediyorum.
Sadece SIGSTOP ve SIGTSTP sinyalleri arasındaki farkı merak ediyorum.
Yanıtlar:
Her iki sinyal de sonunda ile devam edecek olan bir süreci askıya almak için tasarlanmıştır SIGCONT
. Aralarındaki temel farklar:
SIGSTOP
bir sinyal programlı gönderilir (örneğin: kill -STOP pid
) ise SIGTSTP
(için sig nal - t erminal durdurma ) aracılığıyla da gönderilebilir tty
bir klavye, bir kullanıcı yazarak sürücü, genellikle Control- Z.
SIGSTOP
Yoksayılamaz. SIGTSTP
olabilir.
Control-Z
Tetiklemediğine mi inanıyorsun yoksa olmaması SIGTSTP
gerektiğini mi düşünüyorsun?
terminal stop
TSTP anlamına gelir.
/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 hedeflenen süreç tarafından göz ardı edilemez.
Bunun güzel bir örneği video oynatıcıdır mpv
, görmezden gelebilir SIGTSTP
ama yapamaz SIGSTOP
.
Aşağıdakileri çalıştıran bir video ile test edebilirsiniz:
kill -SIGTSTP $(pidof mpv)
ve
kill -SIGSTOP $(pidof mpv)
Elbette kill -SIGCONT $(pidof mpv)
oynamaya devam etmek için.