
Tengo un pequeño fragmento de código C que intento ejecutar en segundo plano. Cuando inicio el programa con &
, puedo encontrar el proceso en la parte superior o con ps, y veo la pantalla de E/S esperada en la terminal o en otro lugar, si se canaliza al archivo o se ejecuta con nohup
.
Este es mi problema: en lugar de iniciar la aplicación y luego devolver inmediatamente el control a la línea de comando, la terminal parece esperar hasta que presione Enter (o use la flecha hacia arriba para comenzar a desplazarse por el historial de comandos) para mostrar la línea de comando nuevamente. ¿Es posible iniciar la aplicación en segundo plano y volver a acceder a la línea de comando sin tener que presionar Enter nuevamente? Probé varias combinaciones de nohup
, disown
, 2>&1
, etc... sin suerte.
Respuesta1
El control does
regresa al shell inmediatamente después de iniciar la aplicación, como lo demuestra el hecho de que puede acceder al historial con las teclas de flecha. Por alguna razón, el shell no imprime el mensaje hasta que presiona regresar. Puede verificarlo escribiendo un comando antes de presionar Enter ( ls
). Su resultado debería mostrarse en la pantalla.