Treballo en servidors remots molt. Utilitzo SSH per connectar als meus servidors. Bastant sovint jo executo un procés que necessito a cursa llogada fins i tot després que tanqui la meva connexió de SSH. Això podria ser una escriptura de closques que analitza durant els meus fitxers historial o restauració de base de dades de mysql molt gran. Allò és quan em converteixo en una utilitat de línia d'ordres de Linux anomenada "nohup". "Nohup" no és baix per a "cap hangup", que tradueix per "ignorar el penjar cap amunt de senyal". El "penjar" senyal és què passa quan es desconnecta. Quin "nohup" fa és que li permet registrar al seu servidor, llançar un procés i desconnectar-se. El procés es continua executant fins i tot després que s'hagi desconnectat. Quan es connecta una altra vegada pot accedir a aquell procés una altra vegada, proporcionava encara funcionant.
La sintaxi bàsica de "nohup" és:
# nohup [comanda] &
Canviï [comanda] pel nom de la seva escriptura de closques, o una comanda. Els " i " a l'extrem fa la cursa de comanda o escriptura com a procés de fons. Aquí és un exemple de com utilitzaria "nohup" per portar una reserva d'una base de dades de mysql gran al seu servidor remot. Primer, em connecto al meu servidor remot utilitzant SSH:
# ssh calvin@sevenacross.com
Llavors executo la comanda "mysqldump -ucalvin -phobbes largedatabase > largedatabase.db" en el mode de "nohup" afegint un "nohup" abans i " i " després que la comanda:
# nohup mysqldump -ucalvin -phobbes largedatabase > largedatabase.db &
[1] 3999
# nohup: producció que afegeix a `nohup.out '
Hi ha dues línies de producció que aconsegueix. El "3999 ' en la primera línia és el procés ID del procés que només produïa, mentre el "nohup: producció que afegeix a `nohup. fora' " mitjà que el fora opció de venda que tornaria normalment en si el terminal s'està enviant a un arxiu anomenat "nohup.out" en el guia del qual llançava la comanda. Pot comprovar si el procés encara s'està executant per buscar entre tots els processos que s'executen que utilitzen el procés ID:
# ps -ef | grep 3999
calvin 3999 29848 0 18:42 ? Les 00:00:00 /usr/bin/mysqldump
calvin 6575 31852 0 18:44 pts/2 00:00:00 grep 3999
Quan el procés es faci corrent veurà una producció en la línia d'ordres com això:
[1]+ al qual Es Fa nohup mysqldump -ucalvin -phobbes largedatabase > largedatabase.db
Pot revisar l'arxiu "nohup.out" per comprovar a la recerca d'alguns errors o uns altres missatges que s'imprimien mentre el procés s'estava executant. Si el buit de restes d'arxiu que és correcte. Significa que cap missatge no s'imprimia mentre el procés s'estava executant.





























{ 1 comentari... llegeixi'l sota o afegeixi'n un }
Hola - Nohup és útil, però si utilitza pantalla pot separar i reenganxar-se a un terminal a voluntat i tenir comandes que s'executen en el fons també.
http://www.gnu.org/software/screen/
-
Bobby
Deixi un Comentari