Як запустити, зупинити та перезапустити rtorrent?


22

Я щойно встановив rtorrentна мою машину Ubuntu Server 12.04 через apt-get.

Як почати | зупинка | перезапустити послугу?


ви пробували sudo service start rtorrent?
BiggJJ

sudo service rtorrent startце так, але так, я це спробував. Це просто виводить rtorrent: unrecognized service. Якщо я напишу sudo service rtoі натискаю вкладку, це завершується rtorrentInit.sh. Я не знаю, що це, але я пам’ятаю (з посібника, який уже давно зайшов у міжвузля), який я написав rtorrentі stop, але не в тому порядку і чи є інше слово між ними. Я не писав rtorrentInit.shтого першого разу.
lindhe

Так, це я мав на увазі. Подивіться тут: Ubuntu 12.04 LTS Виділений сервер rTorrent . Останні 7-8 кроків стосуються встановлення та запуску rtorrent. Можливо, це може пролити трохи світла.
BiggJJ

Я вже читав це зверху вниз. Але дякую все одно. На даний момент я можу обійтись із екрана і просто заскочити в rtorrent і вийти звідти, але я залишу цю тему відкритою, якщо хтось випадково дізнається відповідь.
lindhe

Відповіді:


22

Щоб почати rtorrent, просто натисніть Ctrl+ Alt+ Tна клавіатурі, щоб відкрити Terminal. Коли він відкриється, запустіть команди (и) нижче:

rtorrent

Зупинити Ctrl+ D Щоб вийти з Ctrl+q

Вищезазначені команди, які ви виконуєте після натискання Enter, у вікні rtorrent.

Для отримання додаткової інформації див. Результат:

rtorrent -h

та / або побачити Використання rtorrent як професіонала


Це правильна відповідь. Я боюся, що я, можливо, змішав інструкції до цієї програми з якоюсь іншою програмою, тому саме того, що я шукав, напевно, не існує. Прошу вибачення за проблему, але сподіваюся, що хтось інший використає цю тему.
lindhe

Варто зазначити, що rtorrentзакрити всі файли та вийти після Ctrl+ може зайняти деякий час q- це не означає, що це не було правильне поєднання.
Skippy le Grand Gourou

4

Прийнята відповідь є правильною, але не визначає, як виконати "безпечне" відключення rtorrentпослуги за допомогою systemctlсценарію служби.

Більшість існуючих відповідей або сценаріїв "вбивають" або сеанс екрану, або сам rtorrentпроцес. При цьому вони надсилають сигнал SIGINT (2)або SIGQUIT (3)сигнал, який зупиняє / вбиває rtorrentпроцес. Недолік полягає в тому, що зазвичай файл блокування rtorrentне видаляється, оскільки rtorrentвін не був закритий належним чином. Отже, наступний старт rtorrentне вдасться через стійкий файл блокування.

Переглядаючи вихідний кодrtorrent показує, що він очікує a SIGTERM (15). Отже, розглядаючи systemctlсервісний скрипт, команда stop може виглядати так:

ExecStop=/usr/bin/kill -s 15 \`pidof rtorrent`

Якщо pidofнемає, ви також можете використовувати щось на кшталт:

ps -A | grep "rtorrent" | awk '{print $1}'
  • ps перерахуйте поточні процеси
  • grep витягує деталі процесу rtorrent
  • awk вибирає pid і виводить його на stdout

Якщо вам потрібно зачекати, поки завершення роботи завершиться, ви можете скористатися killall -w. Зауважте, що:

killallможе зачекати вічно, якщо сигнал був ігнорований, не мав ефекту або якщо процес залишається в зомбі (джерело:) man killall.


1
kill -s 15 `pidof rtorrent`може бути простіше killall rtorrent(15 або SIGTERMце сигнал за замовчуванням, який надсилає killі killall).
Девід Фоерстер

1
Крім того, де signal_handler.ccви бачите, що rtorrent очікує, що SIGTERM прекрасно припинить себе? Я бачу лише код управління загальним сигналом обробника сигналу, але немає фактичних обробників сигналів.
Девід Фоерстер

Чи не повинно бути так: /usr/bin/kill -n 15 `pidof rtorrent` чи /usr/bin/kill -s SIGTERM \$(pidof rtorrent)? Ви змішуєте імена сигналів та цифри. - З man kill, kill -lнасправді надасть вам список назв сигналів та відповідних сигнальних кодів. - Також зауважте, що хоча кліщі назад, як і раніше `cmd`, офіційно не застаріли, я прочитав, що $(cmd)насправді вважається чіткішим.
Cbhihe

Не забувайте про pgrep:) Команда pgrep rtorrentповертає просто PID, тому немає необхідності в констатуванні та розбору
Zanna
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.