গৃহীত উত্তরটি সঠিক তবে পরিষেবা স্ক্রিপ্টের সাহায্যে rtorrentপরিষেবাটির "নিরাপদ" শাটডাউন কীভাবে করা যায় তা নির্দিষ্ট করে না systemctl।
বেশিরভাগ বিদ্যমান উত্তর বা স্ক্রিপ্টগুলি স্ক্রিন সেশন বা rtorrentপ্রক্রিয়া নিজেই "হত্যা" করে। এটি করার সাথে সাথে তারা একটি SIGINT (2)বা SIGQUIT (3)সংকেত প্রেরণ করে যা rtorrentপ্রক্রিয়াটি বন্ধ করে দেয় / হত্যা করে । ত্রুটিটি হ'ল সাধারণত লক-ফাইলটি rtorrentমোছা হয় না কারণ rtorrentসঠিকভাবে বন্ধ ছিল না। ফলস্বরূপ, rtorrentঅবিরাম লক ফাইলের কারণে পরবর্তী শুরুটি ব্যর্থ হবে।
কটাক্ষপাত গ্রহণ সোর্স কোডrtorrent শো যে এটি একটি প্রত্যাশা SIGTERM (15)। সুতরাং, systemctlপরিষেবা স্ক্রিপ্ট বিবেচনা করে স্টপ কমান্ডটি দেখতে পেল:
ExecStop=/usr/bin/kill -s 15 \`pidof rtorrent`
যদি pidofনা পাওয়া যায় তবে আপনি এর মতো কিছু ব্যবহার করতে পারেন:
ps -A | grep "rtorrent" | awk '{print $1}'
ps বর্তমান প্রক্রিয়া তালিকা
grep রটারেন্ট প্রক্রিয়া বিশদ বিবরণ আহরণ
awk পিড নির্বাচন করে এবং এটি স্টডআউটে প্রদর্শন করে
আপনি যদি শাটডাউনটি সম্পূর্ণ না হওয়া পর্যন্ত অপেক্ষা করতে হয় তবে আপনি এটি ব্যবহার করতে পারেন killall -w। মনে রাখবেন যে:
killallসিগন্যালটিকে অগ্রাহ্য করা হলে, তার কোনও প্রভাব ফেলল না, বা প্রক্রিয়াটি জম্বি অবস্থায় থাকলে (উত্স man killall:) অনন্তকাল অপেক্ষা করতে পারে ।
sudo service start rtorrent?