Ich hatte Firefox auf einer Parted Magic Live-CD ausgeführt, die dann (möglicherweise) aufgrund einer Tastenkombination, an die ich mich nicht erinnere, schnell vom Bildschirm und der Taskleiste / Fensterliste verschwand.
Jedoch:
ps ax | grep firefox
gibt das Folgende (und die nicht benötigtegrep firefox
Zeile) zurück. Beideps
und der GUI Task Manager zeigen Firefox mit scheinbar unveränderlichem RSS, VM-SIZE und 0% CPU-Auslastung.johndoe 1916 36.6 14.0 923772 504372 tty1 Sl 13:30 12:15 firefox
pstree | grep firefox
kehrt zurück:init─┬─2 * [ROX-Filer───firefox───25 * [{firefox}]]
strace -p 1916
kehrt zurück und bleibt anscheinend für immer in dieser Zeile:futex(0xac975608), FUTEX_WAIT_PRIVATE, 1, NULL
Ich verstehe aus einer Antwort auf Was bedeuten die STAT-Spaltenwerte in ps? dass S
(in Sl
) gibt an, dass sich der Prozess in einem interruptible sleep
Zustand befindet.
Kann jemand genauer erläutern, was der Staat ist?
BEARBEITEN
Ich werde eine neue Frage mit weiteren Einzelheiten zu meiner Distribution starten, um die ursprüngliche zweite Frage zu beantworten.
quelle
Antworten:
@msw hat gute Arbeit geleistet, um Ihr 2. Q und einige Ihrer 1. zu erklären:
Also werde ich versuchen, Ihr erstes Q ein bisschen mehr anzusprechen:
Die Zustandswerte
Sl
(das ist ein Kleinbuchstabe L):Weitere Details finden Sie in der Manpage für Signale
man 7 signal
sowie in diesem Tutorial mit dem Titel: Linux-Prozesszustände .quelle
Sie haben nichts mit dem Firefox-Prozess gemacht. Es war bereits im Zustand S vor. "Unterbrechbarer Schlaf" bedeutet effektiv Leerlauf. Der Prozess wartet und wacht auf, wenn eine Eingabe eingeht. Dies ist der normale Zustand eines Prozesses, sofern Sie ihn nicht abfangen, während er beschäftigt ist.
Sie haben das Fenster verschwinden lassen. Möglicherweise haben Sie es an einen anderen Desktop gesendet. Wie Sie es auf die "normale" Weise wiederherstellen können, hängt vollständig von Ihrem Fenstermanager ab, den Sie nicht angegeben haben.
Sie können das Fenster möglicherweise mit anderen Tools abrufen, aber es hängt etwas davon ab, was genau damit passiert ist und ob Ihr Fenstermanager zusammenarbeitet. Versuchen Sie es mit wmctrl . Listen Sie zuerst die Firefox-Fenster mit
wmctrl -l | grep Firefox
. Notieren Sie sich die Fenster-ID in der ersten Spalte, z. B. 0x12345678. Um ein Fenster wieder auf den aktuellen Desktop zu bringen, verwenden Siewmctrl -R 0x12345678
; Alternativ können Siewmctrl -a 0x12345678
mit zu seinem Desktop wechseln. Führen Sie den Befehl aus, um die Größe zu maximieren (dh Fenster außerhalb des Bildschirms zu bearbeiten oder auf ein Pixel zu verkleinern)wmctrl -r 0x12345678 -b add,maximized_vert,maximized_horz
. Alternativ können Sie das Fenster mit verschieben und in der Größe ändernwmctrl -r 0x12345678 -e 1,50,100,1000,800
. Möglicherweise müssen Sie das Fenster mitwmctrl -r 0x12345678 -b remove,shaded
oder ein- oder ausblendenwmctrl -r 0x12345678 -b remove,hidden
.quelle
xdotool
getan haben , kann es möglicherweise all dies tun, oder zumindest das, was nützlich ist. Probieren Sie es aus (sehen Sie sich die Fensterbefehle und die Desktop- und Fensterbefehle im Handbuch an).xdotool
nicht - Wenn Sie meinen, es könnte "in der Lage sein, all dies zu tun", sprechen Sie über das Kompilierenwmctrl
oder über die Operationen, die Sie damit ausführen können? Können Sie mich auf empfohlene Handbücher zum Kompilieren von Linux-Quellen verweisen (Neu bei Linux, aus einer Windows-Umgebung)?xdotool
undwmctrl
habe ähnliche Funktionen (soweit du hier brauchst, unterscheiden sie sich in dem, was sie sonst noch bieten). Wenn Sie Linux noch nicht kennen, empfehle ich eine Distribution mit mehr Paketen. Wenn Sie RHEL oder eine Variante wie CentOS oder Scientific Linux ausführen , gibt es ein Paket auf Repoforge . Wenn Sie aus dem Quellcode erstellen möchten, lesen Sie dies. Es ist jedoch einfacher, ein Paket zu installieren, wenn Sie eines finden.Es ist möglich, dass X-Clients ihre Verbindung verlieren und nicht benachrichtigt werden. Der Prozess wartet oft auf die Steckdose, über die nie etwas kommt, und führt zu einem unterbrechungsfreien Schlaf.
Nur für Firefox (und einige andere Programme wie Gvim oder Chrome, die besondere Vorkehrungen für das Speichern des Status im Fehlerfall treffen):
gibt dem Prozess die Möglichkeit, die Liste der geöffneten Registerkarten zu speichern, aber ich würde nicht mit dem Formularinhalt oder einem anderen zu behaltenden Status rechnen.
quelle
kill
, bezweifle ich, dass FF in dieser Situation meine Tabs retten würde. Gibt es eine Möglichkeit für FF, sich wieder an X anzuschließen?