Kabul edilen cevap doğrudur, ancak rtorrenthizmetin bir systemctlservis betiği ile "güvenli" kapatmanın nasıl gerçekleştirileceğini belirtmez .
Mevcut cevapların veya komut dosyalarının çoğu ekran oturumunu veya rtorrentsürecin kendisini “öldürür” . Bunu yaparken , süreci durduran / öldüren bir SIGINT (2)veya SIGQUIT (3)sinyal gönderirler rtorrent. Bunun dezavantajı, genellikle kilitlenmeyen dosyanın kilitlenmediğinden rtorrentsilinmesidir rtorrent. Sonuç olarak, bir sonraki başlangıcı rtorrentkalıcı kilit dosyası nedeniyle başarısız olur.
Kaynak kodunartorrent göz atarak beklediğini gösterir SIGTERM (15). Bu nedenle, bir systemctlservis betiği düşünüldüğünde stop komutu şöyle görünebilir:
ExecStop=/usr/bin/kill -s 15 \`pidof rtorrent`
pidofMevcut değilse , aşağıdakileri de kullanabilirsiniz:
ps -A | grep "rtorrent" | awk '{print $1}'
ps mevcut süreçleri listeler
grep rtorrent işlem detaylarını çıkarır
awk pid'i seçer ve stdout'a görüntüler
Kapatma tamamlanana kadar beklemeniz gerekirse kullanabilirsiniz killall -w. Bunu not et:
killalleğer sinyal görmezden gelindiyse, etkisizse ya da işlem zombi durumunda kalırsa (kaynak:) sonsuza kadar bekleyebilir man killall.
sudo service start rtorrentmi