bash - comando - sudo nohup nice<- ¿en qué orden?
nohup debian (6)
Supongo que todos ellos hacen una llamada ejecutiva para pasar el balón al siguiente, así que, sea cual sea el orden, no dejará ningún proceso pendiente.
Diría que nohup debería ser el último para que los otros dos no bloqueen el manejador de señal. (Estoy seguro de que no funciona bien con las señales, pero sudo sí).
Entonces, sudo y agradable, todo depende de la forma en que desee alterar la prioridad de programación con nice.
- Si quieres aumentar la prioridad (es decir, dar un valor negativo a nice) haz sudo antes.
- Si desea reducir la prioridad (otorgue un valor positivo), hágalo antes de sudo, ya que no necesita privilegios de administrador.
Así que tengo un script que quiero ejecutar como root, sin hangup y muy bien. ¿En qué orden debo poner los comandos?
sudo nohup nice foo.bash &
o
nohup nice sudo foo.bash &
etc.
Sospecho que no importa, pero me gustaría tener alguna idea de quienes realmente saben.
el sudo debe ir al final para que nohup y nice no se ejecuten con privilegios de root.
entonces este último
~ $ sudo nohup nice whoami
nohup: ignoring input and appending output to `nohup.out''
~ $ sudo cat nohup.out
root
La diferencia entre la primera y la segunda forma en que lo ha hecho es a quién pertenece el archivo nohup.out. sudo
primero lo hará propiedad de root, nohup
antes de que sudo lo haga propiedad de su usuario.
sudo puede no respetar la amabilidad. Al menos, no funciona en mi máquina (Ubuntu 9.04). Ejecutando esto:
nice sudo nice
sudo nice nice
imprime 0 y 10. (Tenga en cuenta que "agradable" sin ningún comando imprime la bondad actual.)
Si se desea una amabilidad negativa, lo haría: sudo nohup nice command porque de acuerdo con `info coreutils ''nohup debería preceder nice. Si quiero un buen valor negativo, sudo debe aparecer antes, ya que solo root puede usar valores agradables negativos.
Si se desea simpatía positiva, lo haría simplemente: nohup nice sudo command Esto asegura que nohup y nice no se ejecutan con privilegios de root.
No estoy de acuerdo con otras respuestas Yo recomiendo:
sudo nohup nice foo.sh
He observado que nohup sudo #fail - es decir, nohup no siempre se transfiere a los sub-subprocesos subidos (esto fue para ciertos scripts /etc/init.d en Ubuntu que delegaron en otros scripts). No estoy seguro de por qué, sin duda sorprendente, pero fue el caso y se tomó un buen tiempo para depurar.
(Noto que otros informan que la bondad no se transmitió, por lo que parece mejor dejarla en último lugar ... aunque si tiene dudas sobre su sistema operativo, háganlo antes, porque el hecho de que no surta efecto es generalmente menos problemático que el hecho de que no esté en vigencia).
Tenga en cuenta que sudo nohup deja nohup.out propiedad de root, también como se ha mencionado, pero que se corrige con a:
sudo nohup nice foo.sh >> /tmp/foo.stdout.log 2>> /tmp/foo.stderr.log