SSH를 통해 Upstart 세션 작업을 어떻게 제어합니까?

SSH를 통해 Upstart 세션 작업을 어떻게 제어합니까?

저는 개발 웹 서버인 Tor를 시작하는 등 꽤 많은 Upstart 세션 작업을 가지고 있습니다. initctlGUI를 통해 시스템에 로그인하면 명령과 해당 약어를 잘 사용할 수 있습니다. 그러나 SSH를 통해 Upstart 명령은 세션 작업을 인식한다는 아주 작은 힌트조차 표시하지 않습니다. 따라서:

$ 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

보시다시피 세션 작업은 제대로 작동하고 있으며 GUI에 로그인하면 status tor9050예상된 출력이 표시됩니다 tor9050 start/running, process 31096.

그렇다면 SSH를 통해 Upstart 세션 작업의 상태를 확인하고 제어하려면 어떻게 해야 할까요?

답변1

내가 번거롭다고 생각하는 한 가지 방법은 다음과 같습니다.Upstart 요리책(4.3.1.1: 세션 참여). 다음을 설정해야 합니다 UPSTART_SESSION.

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

그 후에는 잘 작동합니다.

$ status tor9050                                                             
tor9050 start/running, process 31096

관련 정보