Como eu controlo um trabalho de sessão do Upstart através do SSH?

3

Eu tenho alguns trabalhos da sessão Upstart, que, entre outras coisas, inicio o Tor, um servidor web de desenvolvimento, etc. Eu posso usar os comandos initctl e suas abreviações muito bem quando estou logado no sistema via a GUI. No entanto, por SSH, nenhum comando Upstart mostra o menor indício de estar ciente dos trabalhos da sessão. Assim:

$ 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 você pode ver, o trabalho da sessão está funcionando bem e, se eu estivesse conectado à GUI, status tor9050 mostraria a saída tor9050 start/running, process 31096 esperada.

Então: como posso obter o status de um trabalho de sessão Upstart por SSH?

    
por muru 16.06.2015 / 22:14

1 resposta

2

Um caminho, que eu acho complicado, é dado em o Cookbook Upstart (4.3.1.1: Ingressando em uma Sessão ) . Você precisa definir UPSTART_SESSION :

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

Depois disso, tudo funciona bem:

$ status tor9050                                                             
tor9050 start/running, process 31096
    
por muru 16.06.2015 / 23:15

Tags