Beenden Sie die von xterminal gestartete Hintergrundaufgabe

Beenden Sie die von xterminal gestartete Hintergrundaufgabe

Ich habe den Befehl Xterm -e verwendet, um in meinem Shell-Skript sechs Programme im Hintergrund in sechs X-Terminals auszuführen. Wenn ich den Befehl PS verwende, kann ich sechs im Hintergrund laufende Xterm-Prozesse sehen, aber ich kann die Programme nicht sehen. Wenn ich den Befehl Top verwende, kann ich die Programme sehen. Gibt es eine saubere Möglichkeit, alle X-Terminals und Programme zu beenden?

Hier ist der Xterminal-Befehl in meinem Skript:

xterm -e "script -c \"program\" outputfile" &

Ein weiteres Problem ist, dass ich versuche, die Ausgabe des Programms in einer Datei zu erfassen, aber aus irgendeinem Grund kann ich nur einen Teil davon erfassen. Wenn ich das &am Ende entferne, kann ich die gesamte Ausgabe erfassen, aber ich kann die Kontrolle nicht zurückerlangen, da das Programm als Server ausgeführt wird, was bedeutet, dass es nicht endet, es sei denn, ich beende den Server.

Antwort1

psohne Argumente/Optionen werden nur Prozesse angezeigt, die mit dem aktuellen Terminal verbunden sind. Alles, was Sie in einem neuen Terminal ausführen, xtermhat dieses xtermPseudotty als steuerndes Terminal.

Normalerweise können Sie durch das Beenden der xterms die darin laufenden Programme beenden.

Antwort2

Diese drei Links könnten für Sie von Interesse sein:

  1. pgrep und pkill- Solaris-spezifische Seite
  2. Diese Seite zum Thema Fensterprozessverwaltungauf U&L
  3. DerProzesskettebei docstore

verwandte Informationen