कमांड pkill -USR1 -n -x dd का वास्तव में क्या मतलब है?


12

मैं ddअपने बीगलबोन पर एक sd कार्ड के लिए एक डिस्क छवि का नेटवर्क हस्तांतरण करने के लिए उपयोग कर रहा हूं।

pkill -USR1 -n -x ddइस बीगलबोन के लिए एक ssh कनेक्शन का उपयोग करने से मुझे ट्रांसफर प्रक्रिया का स्टेटस अपडेट मिलता है, जो बहुत अच्छा है। मैं बस उत्सुक हूं कि यह वास्तव में कैसे काम कर रहा है इसलिए मैं इसे भविष्य में प्रभावी ढंग से उपयोग कर सकता हूं।

man pkillइसे पढ़ने के बाद अभी भी पूरी तरह से यह नहीं बताया गया pkill -USR1 -n -x ddहै कि मुझे यह बहुत उपयोगी स्थिति अद्यतन देने के लिए कैसे काम कर रहा है।

जवाबों:


15

यह विशिष्ट व्यवहार है dd। से ddआदमी पेज:

चल रहे 'dd' प्रोसेस में USR1 सिग्नल भेजना मानक I को I / O आँकड़े प्रिंट करता है और फिर कॉपी करना फिर से शुरू करता है।

$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid

18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied,  34.6279  seconds, 271 MB/s

-USR1सिग्नल pkillभेजने के लिए कहता है USR1-nऔर -xयह सुनिश्चित करने के लिए फ़िल्टर हैं कि आप सही प्रक्रिया को भेजते हैं ( -nनवीनतम प्रक्रिया को भेजते हैं और -xइसका मतलब है कि प्रक्रिया को बिल्कुल नाम दिया जाना चाहिए dd)


2
यह केवल 'dd' (AFAIK) के GNU संस्करण में है। अन्य OSes (जैसे AIX, HP-UX और Solaris) के लिए एक SIGUSR1 'dd' प्रक्रिया को डिफ़ॉल्ट रूप से समाप्त कर देगा।
डार्कहार्ट

@DarkHeart ऑक्स पर SIGINFO (या INFO) का उपयोग करें (शायद bsd पर भी ऐसा ही)
akhan
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.