sh sys-snap.sh &
¿Qué es sh? ¿Qué es sys-snap.sh? ¿Por qué debería poner &al final de la línea? ¿Alguien puede explicar la sintaxis?
Sin el &script, no volveré al indicador hasta que presione Ctrl+ C. Con &puedo presionar enter y funciona.

&&diferente de un solo ampersand&?Respuestas:
shes el shell predeterminado compatible con Bourne (generalmente bash o dash)sys-snap.shes un script de shell, que contiene comandos que seshejecutan. Como no publicas su contenido, solo puedo adivinar por su nombre lo que hace. Puedo encontrar un script relacionado con CPanel con el mismo nombre de archivo, que crea un archivo de registro con todos los procesos actuales, uso de memoria actual, estado de la base de datos, etc. Si el script comienza con una línea shebang (#!/bin/sho similar), puede hacerlo ejecutable conchmod +x sys-snap.she iniciarlo directamente usando./sys-snap.shsi está en el directorio actual.Con
&el proceso comienza en segundo plano, para que pueda continuar utilizando el shell y no tenga que esperar hasta que finalice el script. Si lo olvida, puede detener el proceso de ejecución actual conCtrl-Zy continuar en segundo plano conbg(o en primer plano confg). Para más información, ver control de trabajosfuente
shen usualmente solobashodashen sistemas basados en Linux (o OS / X reciente). En los BSD, generalmente es otra variante de Ash (el guión se basa en NetBSD sh, en sí mismo basado en Almquist Shell) o un derivado de pdksh. En unidades comerciales, generalmente es ksh88.&y, por lo tanto, en segundo plano, solo se obtiene un nuevo indicador de shell.&&diferente de un solo ampersand&?Esto se conoce como
job controlbajo unix. El&informa al shell para poner el comando en segundo plano. Esto significa que continúa ejecutando elsys-snap.shcomando pero lo regresa a su shell para permitirle continuar haciendo comandos paralelos.Puede ver la lista de trabajos que se ejecutan actualmente con el
jobscomando. Puede volver al comando (poner en primer plano) con el uso delfgcomando. Lo que devuelve el comando al estado en el que no ve ningún mensaje y tiene que emitir Ctrl, Cpara matar el proceso. Sin embargo, puede suspender (pausar) ese proceso, emitiendo Ctrl- Z. Esto hará una pausasys-snap.shy te devolverá a tu mensaje. Puede entonces fondo que (como si la hubiera emitido con la&) con elbgcomando, y se reanuda la ejecución de esta en pausa el estado Ctrl- Zlo había puesto en.Tenga en cuenta que puede tener más de un trabajo a la vez (como se muestra en
jobs):Puede ponerlos en segundo plano y en primer plano utilizando su número de trabajo,
%1serásys-snap.shy%2seráanother-script.sh. Si usafgobgsin argumentos, ejecutará el comando en el trabajo marcado+en eljobsresultado anterior.fg %1volverá a poner
sys-snap.shen primer plano, dejandoanother-script.shen segundo plano.Puede emitir la secuencia Ctrl- Cpara ejecutar trabajos sin tener que ponerlos en primer plano con el
killcomando,kill %1enviará el equivalente de Ctrl- Casys-snap.sh.Si está utilizando bash shell, el
man bashcomando tiene una sección detallada debajo de la sección titulada 'CONTROL DE TRABAJO' que entra en más detalles.En cuanto al nombre de
sys-snap.sh, bajo los nombres de archivo Unix son arbitrarios (con un par de excepciones, como los archivos de carga dinámica). No es necesario que tengan extensiones de archivo específicas para que se ejecuten como un script de shell, invoquen otros comandos comoperlophpetc. Se suele usar para proporcionar claridad, que en este caso, es.shun Script de Shell que utiliza Bourne Shell/bin/sh.La parte funcional de
sys-snap.sh(cuando miras su contenido con algo como ellesscomando) es el Shebang . En la primera línea probablemente encontrarás uno de:o similar. En términos básicos, se ejecuta un comando después de
#!(como/bin/sh) y el contenido del resto del archivo de script se alimenta de una línea a la vez. Tenga en cuenta que el archivo también debe configurarse como ejecutablechmodpara que pueda ejecutarlo como un comando. Si no se establecieron los permisos, entoncesshebangno tiene ningún efecto, ya que obtendría el error:o si lo ejecutó por ruta explícita
./sys-snap.sh(es.decir, el directorio de trabajo actual) obtendría:La otra alternativa es dejarlo sin permisos de ejecución y pedirle explícitamente a / bin / sh que lo ejecute:
fuente
nohuphace, ya que a menudo se usa junto con¶ iniciar un proceso y poder matar el shell que lo lanzó sin matar el proceso.jobssiempre volverá vacío si es el primer comando?&al final de un comando solo se separastdin(pero nostdoutostderr), lo que implica que si su comando / script se ejecuta en segundo plano pero al escribirstdout, puede encontrarse con una situación en laCtrl + cque no se detendrá la salida, pero podría para escribir comandos. Esto se debe a que el proceso en segundo plano está escribiendostdoutpero no puede detenerlo porque no se está ejecutando en primer plano. Más información aquí .shEs una concha. Qué shell depende exactamente del sistema. Ejemplo para un sistema que utilizabashcomo su shell estándar:sys-snap.shserá un script de shell de algún tipo, porsh sys-snap.shlo que ejecutará el script de shell.&hará que el proceso de shell se ejecute en segundo plano. Sin&ella permanecerá en primer plano hasta que finalice el guión. El script funcionará de cualquier manera, es solo una cuestión de esperar a que el script finalice o no antes de ejecutar más comandos.fuente
¿Está su servidor en hostgator?
El script
sys-snap.shes un script especial escrito por el equipo hostgator para recopilar todos los archivos de registro y datos para el sistema, por lo que utilizan su salida para monitorear y recopilar la información del sistema.fuente