
Ich recoll
indiziere Dateien und es greift zu ungünstigen Zeiten.
Wenn ich htop
die Ansicht mit F5 in eine Baumansicht ändere und die Prozessliste filtere, sehe ich einen laufenden Hauptprozess und darunter untergeordnete Prozesse. Wenn ich F9 drücke, um eine Beendigungsoption auszuwählen, scheint es nicht auf die SIGTERM
Option zu reagieren, also muss ich die SIGKILL
Option verwenden.
Gibt es eine Option zum Anhalten oder Stoppen des übergeordneten Prozesses und aller seiner untergeordneten Prozesse, anstatt sie direkt zu beenden?
Antwort1
Seit Version2.0.0
(erschienen 2016), können Sie drücken, c
um den Prozess und seine untergeordneten Prozesse zu markieren. Dies wird in der integrierten Hilfe erwähnt, die unter angezeigt wird h
.
Anschließend können Sie drücken k
, um ein Signal an die markierten Prozesse zu senden. Ihnen wird eine Liste aller möglichen Signale angezeigt, aus denen Sie auswählen können.
Antwort2
Sie können wählen, ob Sie das Signal senden möchten SIGTSTP
oder SIGSTOP
:
SIGTSTP
: Ist das Signal, das gesendet wird, wenn Sie Ctrl+ drücken Z. Dadurch wird der Prozess angehalten und gestoppt. Sie können ihn mitbg
(setzt ihn im Hintergrund fort) oderfg
(setzt ihn fort und bringt ihn zurück in den Vordergrund) fortsetzen.SIGSTOP
: Stoppt den Prozess einfach. Kann nicht ignoriert oder blockiert werden. Der Prozess wird nur fortgesetzt, wenn Sie ihm einSIGCONT
Signal senden.
Antwort3
Sie können drücken Space, um einen Prozess zu markieren. Der Kill-Befehl gilt für alle markierten Prozesse.
Es gibt keine einfache Möglichkeit, einen Prozess und seine untergeordneten Prozesse zu markieren, aber die Strukturansicht ( t) sollte sie zusammenhängend auflisten.
Je nachdem, wie recoll ausgeführt wird, können die Prozesse in ihren eigenenProzessgruppe. Wenn dies der Fall ist, können Sie kill -STOP -1234
sie alle mit anhalten, wobei 1234 die Prozessgruppen-ID ist (normalerweise, aber nicht notwendigerweise die Prozess-ID des ursprünglichen Prozesses in der Gruppe). Sie können mit und ps -o pid,ppid,pgid,comm -C recoll
dann prüfen, ps -o pid,ppid,pgid,comm ww | grep -v recoll
ob sich noch weitere Prozesse in der Prozessgruppe befinden. Htop hat keine Schnittstelle zu Prozessgruppen.
Wenn alle Prozesse aufgerufen werden recoll
, ist es einfacher, die Prozesse nach Namen zu filtern. Verwenden Sie in htop den Befehl „Filter“, dann können Sie die Prozesse, die Sie beenden möchten, einfach markieren. Führen Sie in der Befehlszeile „Aus“, ps $(pgrep recoll)
um die übereinstimmenden Prozesse aufzulisten. Wenn Sie mit der Liste zufrieden sind, führen Sie „Aus“, pkill -STOP recoll
um diese Prozesse anzuhalten.