জার্নালটিএল - পেজার ছাড়াই অনুসরণ করা বন্ধ করুন


10

যদি আমি করি:

journalctl -u my-service

তারপরে Shift-Fপেজিংয়ের সময় অনুসরণ করা, পেজারটি (interrupt to abort)ছাড়াই আমি কীভাবে পারি ?

এর সাথে less, আমি সাধারণত ন্যায়সঙ্গত ^C, তবে আমি যদি জার্নাক্টলটিতে এটি করি তবে এটি পুরো পেজারটি সরিয়ে দেয়।

উত্তর:


6

আপনি এইless মুহুর্তে ব্যবহার করছেন, তবে এটি কীভাবে আহ্বান করা হয়েছিল তার কারণে ^ C আলাদা আচরণ করছে journalctl। জার্নাল্টেল ফ্ল্যাগগুলি lessনিম্নলিখিত ডিফল্টগুলি অন্তর্ভুক্ত করে:

 FRSXMK

এর মধ্যে আমি মনে করি "কে" বিকল্পটি এখানে প্রয়োগ হয়েছে:

-কে বা --উইট-অন-ইন্ট যখন কোনও বাধা অক্ষর (সাধারণত ^ সি) টাইপ করা হয় তখন সাথে সাথে (স্ট্যাটাস 2 সহ) প্রস্থান করার কম কারণ দেখায় । সাধারণত, একটি বিঘ্নিত চরিত্র যা কিছু করছে তা বন্ধ করতে এবং তার কমান্ড প্রম্পটে ফিরে আসে। নোট করুন যে এই বিকল্পটির ব্যবহার "F" কমান্ড থেকে কমান্ড প্রম্পটে ফিরে আসা অসম্ভব করে তোলে।

সুতরাং, আপনার পরিবেশে Y SYSTEMD_LESS নির্ধারণ করা এবং "কে" বিকল্পটি বাদ দেওয়া সমস্যার সমাধান করা উচিত , এটি উবুন্টু ১.0.০৪-তে আমার পরীক্ষায় কার্যকর হয়নি:

 SYSTEMD_LESS="FRSXM"journalctl -u nginx

যাইহোক, আপনি যে আচরণটিটি চান তা নীচের বৈচিত্রগুলির আচরণের সাথে তুলনা করে কে পতাকাটি সম্পর্কিত বলে নিশ্চিত করতে চান:

# ^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। আপনি এর PID, ফাইন্ডিং দ্বারা পরীক্ষা করতে পারবেন lessএবং করছেন hd /proc/<pid>/environ। পরিবেশের পরিবর্তনশীল সন্ধান করুন LESS। এটি সেখানে থাকবে তবে খালি থাকবে (সাধারণত এটি হয় FRSXMK)। _Kসেই পতাকাটি সেট করা আছে কিনা তা দেখতে আপনি নিজে নিজেও টাইপ করতে পারেন। সাধারণত এটি হয়। পাস SYSTEMD_LESS=করলে তা হয় না। আমি মনে করি জার্নাল্টেল প্রক্রিয়া পেজার পাওয়ার সময় সিগন্যাল দিচ্ছে SIGINT, এ কারণেই lessসেটিং নির্বিশেষে মারা যায়।

এখানে একটি হ্যাকি প্রুফ অফ কনসেপ্ট রয়েছে যা দেখায় যে আপনি কীভাবে এটি পেতে পারেন: gist.github.com/chriskuehl/9ab4c74c19f2f4cb883744171335ac44

0

আমি কেবল এই বিরক্তিকর শিহরনের অভিজ্ঞতাও পেয়েছি।
সেট SYSTEMD_LESSপ্রকৃতপক্ষে কাজ করে না কারণ journalctl একটি পাঠাব SIGTERMপেজার থেকে যখন এটি একটি ^ সি গ্রহণ করে।

আমার "সমাধান "টি এ জাতীয় ব্যাশ ওরফে ব্যবহার করা ছিল:

alias log='SYSTEMD_COLORS=1 journalctl | less -FRSXM'

এটি ডিফল্ট পেজারকে ওভাররাইড করে এবং অনুসরণ অনুসরণে বাধা দিলে প্রস্থান করে না।
পরিবেশের পরিবর্তনশীলটি SYSTEMD_COLORSরঙগুলির একমাত্র উপায় বলে মনে হয় এবং এ এর ​​পরে কম চালিয়ে যায় SIGINT

এটি আমার ডেবিয়ান 9 ইনস্টলেশন কাজ করে।


হুম, এটি অনুসরণ করা বন্ধ হয়ে গেল। তবে তাই journalctl | less, একটি বাগ হতে পারে।
clst
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.