Como iniciar, parar e reiniciar o rtorrent?

22

Acabei de instalar rtorrentna minha máquina Ubuntu Server 12.04 via apt-get.

Como eu começo | parar | reiniciar o serviço?

lindhe
fonte
você já tentou sudo service start rtorrent?
BiggJJ
sudo service rtorrent startisto é, mas sim, eu tentei isso. Apenas produz rtorrent: unrecognized service. Se eu escrever sudo service rtoe pressionar tab, ele será concluído rtorrentInit.sh. Não sei o que é isso, mas lembro-me (de um guia que há muito tempo se aprofundou nas interwebs) que escrevi rtorrente stop, mas não em que ordem e se há outra palavra no meio. Eu não escrevi rtorrentInit.shessa primeira vez.
Lindhe
Sim, foi isso que eu quis dizer. Dê uma olhada aqui: Ubuntu 12.04 LTS Dedicated Server rTorrent . As últimas 7-8 etapas são sobre como instalar e iniciar o rtorrent. Talvez possa lançar alguma luz.
BiggJJ
Eu já li isso de cima para baixo. Mas obrigado de qualquer maneira. Por enquanto, posso dar uma olhada na tela, pular para o rtorrent e sair daqui, mas deixarei esse tópico em aberto se alguém souber a resposta.
Lindhe

Respostas:

22

Para iniciar o rtorrent, basta pressionar Ctrl+ Alt+ Tno teclado para abrir o Terminal. Quando abrir, execute o (s) comando (s) abaixo:

rtorrent

Para parar Ctrl+ D Para sair Ctrl+q

Os comandos acima são Enterexecutados após pressionar , na janela do rtorrent.

Para mais informações, consulte a saída de:

rtorrent -h

e / ou veja Usando o rtorrent como um profissional

Mitch
fonte
Essa é a resposta correta. Receio ter misturado as instruções deste programa com outro programa, portanto, o que eu estava procurando provavelmente não existe. Peço desculpas pelo problema, mas espero que outra pessoa use esse segmento.
Lindhe
Vale ressaltar que pode demorar um pouco para rtorrentfechar todos os arquivos e sair após Ctrl+ q- isso não significa que não foi a combinação certa.
Skippy le Grand Gourou
4

A resposta aceita está correta, mas não especifica como executar um encerramento "seguro" do rtorrentserviço com um systemctlscript de serviço.

A maioria das respostas ou scripts existentes "mata" a sessão da tela ou o rtorrentpróprio processo. Ao fazer isso, eles enviam um sinal SIGINT (2)ou SIGQUIT (3)que interrompe / mata o rtorrentprocesso. A desvantagem é que normalmente o arquivo de bloqueio de rtorrentnão é excluído porque rtorrentnão foi desligado corretamente. Conseqüentemente, o próximo início de rtorrentfalha por causa do arquivo de bloqueio persistente.

Olhando o código fonte dosrtorrent programas que ele espera a SIGTERM (15). Portanto, considerando um systemctlscript de serviço, o comando stop pode se parecer com:

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

Se pidofnão estiver disponível, você também pode usar algo como:

ps -A | grep "rtorrent" | awk '{print $1}'
  • ps listar os processos atuais
  • grep extrai os detalhes do processo rtorrent
  • awk seleciona o pid e o exibe em stdout

Caso precise aguardar a conclusão do desligamento, você pode usá-lo killall -w. Observe que:

killallpode esperar para sempre se o sinal foi ignorado, não teve efeito ou se o processo permanecer no estado de zumbi (fonte man killall:).

YuTendo
fonte
1
kill -s 15 `pidof rtorrent`poderia ser mais simples killall rtorrent(15 ou SIGTERMé o sinal padrão enviado por kille killall).
David Foerster
1
Além disso, onde signal_handler.ccvocê vê que o rtorrent espera que o SIGTERM se encerre normalmente? Eu só vejo código de gerenciamento de manipulador de sinal genérico de sinal, mas nenhum manipulador de sinal real.
David Foerster
Não deveria ser: /usr/bin/kill -n 15 `pidof rtorrent` ou /usr/bin/kill -s SIGTERM \$(pidof rtorrent)? Você está misturando nomes e números de sinais. - De man kill, kill -lfornecerá a lista de nomes de sinais e códigos de sinais correspondentes. - Observe também que, embora os ticks de volta, como em `cmd`, não sejam oficialmente preteridos, li que $(cmd)é realmente favorecido como mais claro.
Cbhihe
Não se esqueça sobre pgrep:) O comando pgrep rtorrentretorna apenas o PID, por isso não há necessidade de tubulação ou de análise
Zanna