Frage

Ich habe also ein Skript, das ich als root, ohne Aufhängen und schön ausführen möchte. In welche Reihenfolge sollte ich die Befehle eingeben?

sudo nohup schön foo.bash &

oder

nohup schön sudo foo.bash &

usw.

Ich vermute, es spielt keine Rolle, möchte aber etwas Einblicke von denen, die Ja wirklich kennt.

War es hilfreich?

Lösung

Wenn negative Freundlichkeit gewünscht wird, würde ich dies tun: sudo nohup netter Befehl, denn laut "Info CoreUtils" sollte Nohup sollten Voraussetzung Hübsch. Wenn ich einen negativen negativen Wert wünsche, muss Sudo vorher kommen, da nur Root negative nette Werte verwenden kann.

Wenn positive Freundlichkeit gewünscht wird, würde ich einfach tun: Nohup Nizza Sudo Befehl Dies stellt sicher, dass Nohup und Nizza nicht mit Root -Privilegien ausgeführt werden.

Andere Tipps

Sudo kann die Feinheit nicht respektieren. Zumindest nicht auf meiner Maschine (Ubuntu 9.04). Ausführen dessen:

nice sudo nice
sudo nice nice

Druckt 0 und 10. (Beachten Sie, dass „schön“ ohne Befehl die aktuelle Schönheit ausdruckt.)

Der Sudo sollte zuletzt gehen, damit Nohup und Nizza nicht mit Root -Privilegien laufen.

Also letztere

~ $ sudo nohup nice whoami
nohup: ignoring input and appending output to `nohup.out'
~ $ sudo cat nohup.out 
root

Der Unterschied zwischen dem ersten und dem zweiten Weg, der es getan hat, ist, wer die Nohup.out -Datei gehört. sudo Zuerst wird es Root besitzen, nohup Bevor Sudo es Ihrem Benutzer besitzt.

Nicht zustimmen mit anderen Antworten. Ich empfehle:

sudo nohup nice foo.sh

Ich habe beobachtet Nohup sudo #scheitern -IE NoHup wird nicht immer auf sudod-Unterprozesse übertragen (dies war für bestimmte Skripte auf Ubuntu, die an noch andere Skripte delegierten). Ich bin mir nicht sicher, warum, sicherlich überraschend, aber der Fall war und es gut brauchte, um zu debuggen.

(Ich stelle fest, dass andere die Freundlichkeit nicht durchgesetzt werden, so dass es am besten ist, sie zuletzt zu sagen ... obwohl im Zweifelsfall in Ihrem Betriebssystem nett vorgestellt wurde, weil schön nicht wirksam zu wirken ist, ist normalerweise weniger ein Problem als Nohup nicht wirksam!)

Beachten Sie, dass sudo nohup verlässt Nohup.out im Besitz von Root, ebenso wie erwähnt, aber das ist mit einem:

sudo nohup nice foo.sh >> /tmp/foo.stdout.log 2>> /tmp/foo.stderr.log

Ich denke, alle machen einen Exec* -Symall, um den Ball an den nächsten zu übergeben. Unabhängig von der Bestellung keine Aufhängenprozesse.

Ich würde sagen, dass Nohup zuletzt sein sollte, damit die beiden den Signalhandler nicht schließen. (Ich bin sicher, schön spielt nicht mit Signalen, aber sudo tut es.)

Dann, sudo und nett, hängt alles davon ab, wie Sie die Planungspriorität mit Nizza ändern möchten.

  • Wenn Sie die Priorität erhöhen möchten (dh, geben Sie es für negativ ein negatives Wert an sudo.
  • Wenn Sie die Priorität senken möchten (netter einen positiven Wert geben), tun Sie es vor sudo, da Sie keine Wurzelrechte benötigen.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top