3 votos

¿Cómo puedo controlar un trabajo de sesión de Upstart mediante SSH?

Tengo un par de Upstart sesión de puestos de trabajo, que, entre otras cosas, empezar a Tor, un servidor de desarrollo web, etc. Puedo usar el initctl comandos y sus abreviaturas bien cuando estoy conectado en el sistema a través de la interfaz gráfica de usuario. Sin embargo, a través de SSH, no Advenedizo comando muestra el menor asomo de ser consciente de la sesión de trabajo. Por lo tanto:

$ cat ~/.config/upstart/tor9050.conf
description "Tor on port 9050"
start on desktop-start
stop on session-end

respawn

expect daemon
exec /usr/sbin/tor -f /home/muru/.torrc9050
$ status tor9050
status: Unknown job: tor9050
$ pgrep -fa 9050
31096 /usr/sbin/tor -f /home/muru/.torrc9050

Como se puede ver, la sesión de trabajo está trabajando bien, y si se ha iniciado sesión en la interfaz gráfica de usuario, status tor9050 mostraría la esperada tor9050 start/running, process 31096 de salida.

Así que: ¿cómo puedo obtener el estado de, y otra de control, un Advenedizo de la sesión de trabajo a través de SSH?

2voto

muru Puntos 43315

Una forma, que me parece engorrosa, se da en el Upstart Cookbook (4.3.1.1: unirse a una sesión) . Debe establecer UPSTART_SESSION :

 export XDG_RUNTIME_DIR=/run/user/$(id -u)
export UPSTART_SESSION=$(initctl list-sessions | awk '{print $2; quit}')
 

Después de eso, funciona bien:

 $ status tor9050                                                             
tor9050 start/running, process 31096
 

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: