आप उस बिंदु पर उपयोग कर रहे हैंless
, लेकिन ^ C इसे कैसे लागू किया गया था, इसके कारण अलग-अलग व्यवहार कर रहा है journalctl
। less
निम्न ध्वजों को शामिल करने के लिए जो झंडे जर्नल से गुजरते हैं:
FRSXMK
इनमें से, मुझे लगता है कि "के" विकल्प यहां लागू होता है:
-K या --quit-on-intr
एक व्यवधान वर्ण (आमतौर पर ^ C) टाइप होने पर तुरंत (स्थिति 2 के साथ) बाहर निकलने का कारण बनता है। आम तौर पर, एक बाधा चरित्र जो कुछ भी कर रहा है उसे रोकने के लिए कम करता है और अपने कमांड प्रॉम्प्ट पर वापस लौटता है। ध्यान दें कि इस विकल्प का उपयोग "F" कमांड से कमांड प्रॉम्प्ट पर लौटना असंभव बनाता है।
इसलिए, अपने वातावरण में $ SYSTEMD_LESS की स्थापना करें और "K" विकल्प को छोड़ कर समस्या को हल करना चाहिए , यह Ubuntu 16.04 पर मेरे परीक्षण पर काम नहीं किया:
SYSTEMD_LESS="FRSXM"journalctl -u nginx
हालाँकि, आप वह व्यवहार प्राप्त कर सकते हैं जिसे आप पुष्टि करना चाहते हैं कि K ध्वज निम्नलिखित विविधताओं के व्यवहार की तुलना करके संबंधित है:
# ^C after Shift-F does not completely quit
journalctl -u nginx | less -FRSXM
# ^C after Shift-F completely quits
journalctl -u nginx | less -FRSXMK
SYSTEMD_LESS
, लेकिन मैंने इस बात की पुष्टि की कि भेजे गए झंडे को बदल देता हैless
। आप पीआईडी की खोजless
कर और कर सकते हैंhd /proc/<pid>/environ
। पर्यावरण चर के लिए देखोLESS
। यह वहाँ होगा लेकिन खाली (सामान्य रूप से यहFRSXMK
)। आप यह_K
देखने के लिए कम में भी टाइप कर सकते हैं कि क्या यह ध्वज सेट है। आम तौर पर यह है। यदि आपSYSTEMD_LESS=
इसे पास करते हैं तो ऐसा नहीं है। मुझे लगता है कि जर्नलक्टल प्रक्रिया पेजर को संकेत दे रही है जब यह हो जाता हैSIGINT
, जोless
कि उस सेटिंग की परवाह किए बिना मर जाता है।