Скрипт Upstart для демона передачи, выполняемый как обычный пользователь

использовать osirrox для извлечения iso

osirrox -indev /path/to/iso -extract / /full-iso-contents
4
задан 8 July 2011 в 17:24

32 ответа

Когда вы запускаете приложение с su -c , su ждет завершения приложения. В вашем случае, добавив опцию - переднего плана , сделайте передачу, чтобы не отсоединиться от ее родителя. Таким образом, вы увидите su как родительский процесс transimssion-daemon за все время жизни последнего.

Если вы удалите этот параметр, вы будете см., что процесс su завершится, как только передатчик-daemon перейдет на задний план.

Помимо удаления этой опции, которая кажется неподходящей для службы, я предлагаю использовать

  sudo -u & lt; your-user & gt;  app-name options  

вместо su , будучи ближе к способу Ubuntu делать вещи и быть более простым в управлении опциями без необходимости использовать одиночный цитаты.

1
ответ дан 13 August 2018 в 12:59
  • 1
    Но если я подавляю переднего плана , init обнаруживает неправильный PID процесса. Он сохраняет PID sudo , но завершен sudo : initctl: запуск / запуск транс-теста, процесс 3110 , но процесс имеет другой PID: пользователь 3148 0,0 0,0 154848 2708? Ssl 13:33 0:00 Передача-демон – Juan Simón 8 July 2011 в 17:06
  • 2
    Непроверенная альтернатива может заключаться в том, чтобы получить право собственности на исполняемый файл ( sudo chown $ USER: $ USER / usr / bin / transmission-daemon ), затем сделать его setuid ( chmod u + s / usr / бен / передача-демон ). – enzotib 8 July 2011 в 17:28
  • 3
    Спасибо, но это не работает для меня. Tranmission будет выполняться дважды с разными пользователями. – Juan Simón 8 July 2011 в 18:30
  • 4
    Выполнено дважды, и с разными пользователями, кроме того, очень странно – enzotib 8 July 2011 в 18:40
  • 5
    – Juan Simón 14 July 2011 в 17:54

Моя версия:

  start on (файловая система и net-device-up IFACE = lo) stop on runlevel [! 2345] # дать время для отправки информации трекеру тайм-аут kill 30 ожидания fork  respawn script USER = тест debian-передачи -f / etc / default / transmission-daemon & amp; & amp; & amp; & amp; & amp;  ,  / etc / default / transmission-daemon test "$ ENABLE_DAEMON"! = "0" ||  exit 0 exec start-stop-daemon --start --quiet --chuid $ USER --exec / usr / bin / transmission-daemon - $ OPTIONS end script  

Хорошо вокс:

  root @ ubuntu-server: / etc / init # статус-передача-daemon передачи-daemon запуск / запуск, процесс 754 root @ ubuntu-server: / etc / init # ps aux | grep [  t] ransmission-daemon торрент 754 0.0 1.1 41592 5596?  Ssl Oct21 0:56 / usr / bin / transmission-daemon --auth --config-dir / var / lib / transmission-daemon / info  
-1
ответ дан 13 August 2018 в 12:59
  • 1
    Этот скрипт не работает для меня: запуск / запуск передачи-simon, процесс 5880 , но процесс 5880 не существует. Я думаю, что upstart принимает PID команды start-stop-daemon вместо демона передачи. – Juan Simón 23 October 2011 в 04:15

Другие вопросы по тегам:

Похожие вопросы: