Ausführen von „sudo“ und „nohup“ für einen Befehl

Ausführen von „sudo“ und „nohup“ für einen Befehl

Es gibt einen komplexen Befehl, der Folgendes erfordert sudo:

sudo command par1 666 /home/me/...

Ich muss es starten, damit es bestehen bleibt, nachdem ich mich vom Terminal abgemeldet habe (SSH). Ich habe herausgefunden, dass dieser nohupBefehl das tun soll.

Das erste Problem ist, dass nohupanscheinend Folgendes erforderlich ist sudo:

nohup: failed to open `nohup.out': Permission denied
nohup: failed to open `/home/me/nohup.out': Permission denied

Zweitens scheinen die letzteren Parameter verloren zu gehen. Was ist die richtige Syntax, um commandmit allen Parametern asynchron mit Administratorrechten zu laufen?

Antwort1

Ihr erstes Problem ist darauf zurückzuführen, dass nohup versucht, eine Datei namens nohup.out zu erstellen. Zunächst versucht es, diese im aktuellen Verzeichnis zu erstellen. Wenn dies nicht gelingt, versucht es, sie in Ihrem Home-Verzeichnis zu erstellen.

Aus Ihrer Ausgabe geht hervor, dass Sie für beides keinen Schreibzugriff haben.

Versuchen Sie, es aus einem Verzeichnis auszuführen, für das Sie Schreibzugriff haben (/tmp, wenn Sie kein besseres Verzeichnis finden können).

Versuchen Sie für Ihr zweites Problem, den Befehl und die Parameter, die Sie ausführen möchten, in Anführungszeichen zu setzen. Beispiel:

nohup `sudo-Befehl par1 666 /home/me/…`

verwandte Informationen