GNU/Linux >> Tutoriels Linux >  >> Linux

Faire travailler sudo et nohup ensemble

La solution consiste à utiliser le drapeau -b pour que sudo exécute la commande en arrière-plan :

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

Vous ne devez utiliser nohup que si vous souhaitez que le programme continue même après la fermeture de votre session de terminal actuelle


Le problème ici, à mon humble avis, n'est pas nohup, mais sudo de traitement en arrière-plan.

Vous mettez le processus en arrière-plan (et à la fin de la commande) mais sudo a probablement besoin d'une authentification par mot de passe, et c'est pourquoi le processus s'arrête.

Essayez l'une de ces options :

1) supprimez l'esperluette à la fin de la commande, répondez à l'invite de mot de passe et placez-la en arrière-plan (en tapant CTRL-Z - ce qui arrête le processus et émet la commande bg pour l'envoyer en arrière-plan)

2) Modifiez le /etc/sudoers pour ne pas demander le mot de passe des utilisateurs en incluant la ligne :myusername ALL=(ALL) NOPASSWD :ALL

Si, en plus de la réponse du mot de passe, votre application attend une autre entrée, vous pouvez diriger l'entrée vers la commande comme ceci :$ cat answers.txt|sudo mycommand.php

hth


Vous pouvez essayer

sudo su

puis

nohup ./ascii_loader_script.pl 20070502 ctm_20070502.csv &

au lieu de

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

Linux
  1. Les vrais administrateurs système ne font pas sudo

  2. sudo :commande introuvable

  3. différence Linux entre sudo crontab -e et juste crontab -e

  4. Comment faire en sorte que les clés partagées .ssh/authorized_keys et sudo fonctionnent ensemble ?

  5. Les drapeaux sed e et g ne fonctionnent pas ensemble

Comprendre la différence entre les commandes sudo et su sous Linux

Commande Nohup Linux avec des exemples

Principes de base de la ligne de commande Linux :sudo

Qu'est-ce que la commande source sous Linux et comment ça marche ?

Commande Nohup sous Linux

Qu'est-ce que sudo rm -rf sous Linux et est-ce dangereux ?