यदि बैश में मैं कमांड लाइन पर a | b | c | d
चलाता हूं और फिर ^सी दबाता है, तो कौन सी प्रक्रिया सिग्नल प्राप्त करती है?बाश में कीबोर्ड से पाइप किए गए कमांड को SIGINT भेजना
6
A
उत्तर
9
संक्षेप में, वे सभी करते हैं।
पाइपलाइन सेट करते समय, खोल process group बनाता है। ^सी कर्नेल के लाइन अनुशासन द्वारा व्याख्या किया गया है क्योंकि वर्तमान में अग्रभूमि में चल रहे प्रक्रिया समूह को बाधित करने के उपयोगकर्ता के अनुरोध के रूप में। एक प्रक्रिया समूह में SIGINT
जैसे सिग्नल भेजना समूह में सभी प्रक्रियाओं को स्वचालित रूप से सिग्नल प्रदान करता है।
2
मुझे पसंद है बेहतर प्रयोग:
#!/bin/bash
# FILE /tmp/bla.sh
# trap ctrl-c and call ctrl_c()
trap ctrl_c INT
MY_ID=$1 # Identifier for messages
function ctrl_c() {
echo >&2 "GOODBYE $MY_ID"
exit
}
# This will continue until interrupted, e.g. if the input/output get closed
cat
# If we somehow got to the end
echo >&2 "grace $MY_ID"
, उन्हें श्रृंखलन चल रहा है और उन्हें
[email protected]:~$ /tmp/bla.sh 1 | /tmp/bla.sh 2
^CGOODBYE 2
GOODBYE 1
0
तोड़ने आप देख सकते हैं, दोनों सज़ाएँ बाधा संकेत मिला है, जिसका अर्थ है कि वे सभी मारे। इसके अलावा, जिस क्रम में वे आउटपुट करते थे, वे यादृच्छिक हैं, उदाहरण:
[email protected]:~$ /tmp/bla.sh 1 | /tmp/bla.sh 2 | /tmp/bla.sh 3 | /tmp/bla.sh 4
^CGOODBYE 2
GOODBYE 4
GOODBYE 1
GOODBYE 3
संबंधित मुद्दे
- 1. पायथन - सबप्रोसेस - विंडोज़ में एक पाइप किए गए कमांड को कैसे कॉल करें?
- 2. PowerShell.exe को पाइप किए गए पाठ को [कंसोल] :: रीडलाइन()
- 3. सी # कीबोर्ड विंडो को दूसरी विंडो/प्रक्रिया में भेजना
- 4. zcat को पाइप किए गए परिणाम ढूंढें और फिर
- 5. खोल कैसे पाइप किए गए आदेश निष्पादित करता है?
- 6. विंडोज कमांड दुभाषिया: पहले पाइप किए गए कमांड के बाहर निकलने के कोड को कैसे प्राप्त करें
- 7. पाइप एकाधिक कमांड को एक ही कमांड में
- 8. एक बहुप्रचारित प्रोग्राम में SIGINT को पकड़ना
- 9. बाश
- 10. पाइप कमांड लाइन
- 11. कमांड लाइन टूल्स को पासवर्ड भेजना
- 12. विंडोज में मनमाने ढंग से सिग्नल भेजना?
- 13. पृष्ठभूमि से xargs द्वारा बनाई गई कमांड को भेजना
- 14. "सीएलएस" बाश में समतुल्य?
- 15. टेलनेट कमांड भेजना और जावा
- 16. पाइप किए गए इनपुट से पढ़ने वाले पावरहेल फ़ंक्शन को आप कैसे लिखते हैं?
- 17. गो में कई कमांड कैसे पाइप करें?
- 18. बाश
- 19. विम: पाइप रजिस्टर बाहरी कमांड
- 20. Apache Commons Exec के साथ लॉन्च किए गए निष्पादन योग्य को स्ट्रिंग तर्क कैसे पाइप करें?
- 21. बाश
- 22. के लिए विकल्प | (पाइप) कमांड
- 23. बाश
- 24. बाश
- 25. बाल प्रक्रिया में SIGINT सिग्नल को अनदेखा करें
- 26. चेक किए गए चेंज किए गए ईवेंट में समस्या
- 27. सेवा से डेटा को गतिविधि में भेजना
- 28. लंबित इंन्टेंट में ऑर्डर किए गए प्रसारण को कैसे भेजें?
- 29. mysql_pconnect(): 5 बाइट्स भेजना errno = 32 टूटा हुआ पाइप
- 30. बाश में सशर्त पुनर्निर्देशन