GNU/Linux >> Znalost Linux >  >> Linux

Jak sudo a nohup spolupracovat

Řešením je použít parametr -b pro sudo ke spuštění příkazu na pozadí:

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

Nohup byste měli používat pouze v případě, že chcete, aby program pokračoval i po zavření aktuální relace terminálu


Problém zde imho není nohup, ale sudo zpracování na pozadí.

Uvádíte proces na pozadí (&na konci příkazu), ale sudo pravděpodobně potřebuje ověření heslem, a proto se proces zastaví.

Zkuste jeden z těchto:

1) odstraňte ampersand z konce příkazu, odpovězte na výzvu passord a doslovy jej vložte na pozadí (zadáním CTRL-Z - což zastaví proces a vydá příkaz bg pro odeslání na pozadí)

2) Změňte /etc/sudoers tak, aby nepožadoval heslo uživatele, a to zahrnutím řádku:myusername ALL=(ALL) NOPASSWD:ALL

Pokud vaše aplikace kromě odpovědi s heslem čeká na další vstup, pak můžete vstup do příkazu přenést takto:$ cat responses.txt|sudo mycommand.php

hth


Můžete zkusit

sudo su

a poté

nohup ./ascii_loader_script.pl 20070502 ctm_20070502.csv &

místo

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

Linux
  1. Příkaz Nohup s příklady

  2. Skuteční správci systému sudo nedělají

  3. Linuxové příkazy:jobs, bg a fg

  1. sudo:příkaz nenalezen

  2. linux rozdíl mezi sudo crontab -e a jen crontab -e

  3. Příznaky sed e a g nefungují společně

  1. Jak používat příkaz Linux nohup

  2. Jak zajistit, aby sdílené klíče .ssh/authorized_keys a sudo spolupracovaly?

  3. Jak fungují volby '-s', '-t' a '-c' příkazu tr v Unixu?