GNU/Linux >> LINUX-Kenntnisse >  >> Linux

sudo und nohup zusammenarbeiten lassen

Die Lösung besteht darin, das Flag -b für sudo zu verwenden, um den Befehl im Hintergrund auszuführen:

$ sudo -b ./ascii_loader_script.pl 20070502 ctm_20070502.csv

Sie sollten nohup nur verwenden, wenn Sie möchten, dass das Programm auch nach dem Schließen Ihrer aktuellen Terminalsitzung fortgesetzt wird


Das Problem hier ist meiner Meinung nach nicht nohup, sondern die Hintergrundverarbeitung sudo.

Sie setzen den Prozess in den Hintergrund (&am Ende des Befehls), aber wahrscheinlich benötigt sudo eine Passwortauthentifizierung, und deshalb stoppt der Prozess.

Versuchen Sie es mit einem der folgenden:

1) Entfernen Sie das kaufmännische Und vom Ende des Befehls, antworten Sie auf die Eingabeaufforderung für das Passwort und setzen Sie es anschließend in den Hintergrund (indem Sie STRG-Z eingeben - was den Prozess stoppt und den bg-Befehl ausgibt, um ihn in den Hintergrund zu senden)

2) Ändern Sie die /etc/sudoers so, dass sie nicht nach dem Benutzerpasswort fragen, indem Sie die Zeile:myusername ALL=(ALL) NOPASSWD:ALL

einfügen

Wenn Ihre Anwendung neben der Passwortantwort auf andere Eingaben wartet, können Sie die Eingabe wie folgt an den Befehl weiterleiten:$ cat responses.txt|sudo mycommand.php

hth


Sie können es versuchen

sudo su

und dann

nohup ./ascii_loader_script.pl 20070502 ctm_20070502.csv &

statt

nohup sudo ./ascii_loader_script.pl 20070502 ctm_20070502.csv &

Linux
  1. Nohup-Befehl mit Beispielen

  2. Echte Systemadministratoren verwenden kein Sudo

  3. Linux-Befehle:jobs, bg und fg

  4. Wie funktionieren die Optionen „-s“, „-t“ und „-c“ des tr-Befehls in Unix?

  5. sed e- und g-Flags funktionieren nicht zusammen

Verstehen des Unterschieds zwischen dem Befehl sudo und su unter Linux

Nohup Linux-Befehl mit Beispielen

Grundlagen der Linux-Befehlszeile:sudo

Was ist Source Command in Linux und wie funktioniert es?

Nohup-Befehl unter Linux

Was ist sudo rm -rf unter Linux und ist es gefährlich?