Liste und töten an jobs auf UNIX
Habe ich eine Aufgabe erstellt mit der at
- Befehl unter Solaris 10.
Es funktioniert jetzt, aber ich will es töten, aber ich weiß nicht, wie ich finden kann, die job-Nummer und, wie zu töten, der Auftrag oder Prozess.
Zuerst
S. Lott:
job läuft im hintergrund , wenn ich ps -ef sehe ich einige Prozesse laufen, meine Befehle, die mein bash-Skript enthält Befehle , seine runnig 15 Sekunden auf einmal , und proceses ids ändern immer wenn ich ps -ef und ich konnte nicht kill mit kill process_id
was ist, wenn ich starten Sie den cron-Dienst ?
man ps
. Lesen Sie, die. Dann aktualisieren Sie Ihre Frage basiert auf dem, was Sie Lesen.S. Lott:
at
jobs nicht das gleiche wie Prozesse aber.job läuft im hintergrund , wenn ich ps -ef sehe ich einige Prozesse laufen, meine Befehle, die mein bash-Skript enthält Befehle , seine runnig 15 Sekunden auf einmal , und proceses ids ändern immer wenn ich ps -ef und ich konnte nicht kill mit kill process_id
was ist, wenn ich starten Sie den cron-Dienst ?
InformationsquelleAutor soField | 2009-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage zu finden, Ihren Befehl mit einem
ps
Variante wie:Dann, einmal entfernt, sollte es eine einfache Sache zu verwenden
kill
um den Prozess zu beenden (Rechte-abhängig).Wenn du redest loszuwerden Arbeitsplätze in der
at
Warteschlange (die nicht laufen noch), können Sieatq
Sie undatrm
um loszuwerden von Ihnen.Wenn Sie einen Prozess haben, der munter auf andere Arbeitsplätze (neue werden alle 15 Sek.), die Sie benötigen, um zu töten, die top-Ebene eines ersten, so dass das Verhalten aufhört. Das ist immer noch mit ps, um es zu suchen und zu töten, um ihn zu beenden.
top-level-job ist, zu verändern , und immer neue id alle 15sec
Dann finden seine PPID und sehen, welcher Prozess zu starten. Schließlich finden Sie einen langlebigen Prozess und das Sie sich konzentrieren muss.
ich tötete ppid der wartende Prozess schlafen 15 Kommando, dann starben alle.
InformationsquelleAutor paxdiablo
Um einen job zu löschen, die noch nicht ausgeführt wurde, müssen Sie die
atrm
Befehl. Sie könnenatq
Befehl zu bekommen, dessen Nummer in der Liste aus.Zu töten, eine Aufgabe, die bereits begonnen hat zu laufen, müssen Sie grep mit:
und verwenden Sie dann
kill
um es zu stoppen.Einen schnelleren Weg, dies zu tun, auf den meisten Systemen ist:
InformationsquelleAutor Benj
at -l
Liste von jobs, die gibt zurück, wie diese:atrm 10
tötet job 10Oder so mein sysadmin hat mir gesagt, und es
InformationsquelleAutor user2999323
Ersten
Liste alle Prozesse. Beachten Sie die Prozess-Nummer, die Sie wollen, zu töten. Dann
waren, die Sie ersetzen 1234 mit der Prozess-Nummer, die Sie möchten.
Alternativ, wenn Sie absolut sicher sind, dass es nur einen Prozess mit einem bestimmten Namen, oder Sie wollen, Sie zu töten mehrere Prozesse, die denselben Namen
killall
funktioniert auf Linux, aber beachte, dass auf einigen Systemen, wie Solaris, eigentlich tötet alle Prozesse, das wohl nicht, was Sie wollen.Wow, Solaris DUMM ist. Warum würdest du das tun wollen? Ist wie ein alias für 'rm -rf /'
InformationsquelleAutor bguiz