tmux সিআরটিএল-সি দিয়ে প্রক্রিয়া বাধায় ধীর


25

যদি আমি tmux এ প্রচুর আউটপুট দিয়ে একটি কমান্ড চালনা করি তবে এটি Ctrl-C দিয়ে বাতিল করার সিদ্ধান্ত নিই, এটি বন্ধ হওয়ার আগে একটি 10-15 সেকেন্ড পিছিয়ে আছে g যাইহোক, আমি যদি tmux এর বাইরেও একই জিনিস করি, তা অবিলম্বে বন্ধ হয়ে যায়। এটি কেন এবং এটি স্থিরযোগ্য?

অনুশীলনে, যখন আমি grep -Rএকটি বৃহত ডিরেক্টরিতে কাজ করি তখন এই সমস্যাটি উপস্থিত হয় এবং আমার অনুসন্ধান যথেষ্ট সীমাবদ্ধ নয়। wcআউটপুট খুব বেশি দীর্ঘ নয় তা নিশ্চিত করার জন্য প্রথমে ফলাফলটি পাইপ করা একটি কাজের ভিত্তি, তবে এটি আমি এড়াতে চাই এটির অন্য একটি পদক্ষেপ।


নোট:

  • জিনোম টার্মিনাল, অক্সটার্ম, সেন্ট, এবং একটি সরল ভার্চুয়াল টার্মিনাল (যেমন, ctrl-alt-f2) এ এর ​​একই আচরণ রয়েছে তবে প্লেইন ভার্চুয়াল টার্মিনালে বিলম্ব কম হয়।
  • আমি একমাত্র নই: http://www.mail-archive.com/tmux-users@lists.sourceforge.net/msg01569.html
  • আমার টার্মিনাল উইন্ডোটি বড় হলে দেরি বেশি হবে। একটি পূর্ণস্ক্রিন টার্মিনালের জন্য, grep -Rবিশৃঙ্খল হোম ডিরেক্টরিতে এটি থামাতে প্রায় 15 সেকেন্ড সময় লাগে (অন্য কোনও যুক্তি নেই)। একটি 80 × 25 অক্ষর টার্মিনালের জন্য, এটি প্রায় সঙ্গে সঙ্গে বন্ধ হয়ে যায়।

আমি কোন বোধগম্য পার্থক্য লক্ষ্য করি না। আমি চেষ্টা করেছি grep -R "a" ~/(ফাইল লিখতে লিখছি না) ... এবং yes | nl | cut -f1 | head -9999999 > ~/fileতারপরেও cat ~/file
পিটার.ও

@ পিটার.ও কেবল "হ্যাঁ" ইনপুট করুন তারপরে এন্টার টিপুন, আপনার টিএমাক্স ডুমড হয়ে গেছে।
একমাত্র

উত্তর:


10

tmux এ এখন নিম্নলিখিত বিকল্পগুলি রয়েছে:

c0-change-interval interval
c0-change-trigger trigger

আপনি এগুলির জন্য মান নির্ধারণ করতে পারেন যা ^ C এবং বন্ধুদের টাইপ করা সহজ করবে। দেখুন man tmux:

এই দুটি বিকল্প একটি ফলকের জন্য সীমাবদ্ধ হারের একটি সাধারণ ফর্মটি কনফিগার করে। Tmux যদি ট্রিগার সি0 সিকোয়েন্সের চেয়ে বেশি দেখতে পায় যা স্ক্রিনটি পরিবর্তিত করে (উদাহরণস্বরূপ, ক্যারিজ রিটার্ন, লাইনফিডস বা ব্যাকস্পেস) এক মিলিসেকেন্ডে, এটি ফলকটি তত্ক্ষণাত আপডেট করা বন্ধ করে দেবে এবং পরিবর্তে এটি প্রতিটি অন্তর মিলিসেকেন্ডগুলিতে সম্পূর্ণরূপে পুনরায় আঁকবে। এটি দ্রুত আউটপুট (যেমন হ্যাঁ (1)) টার্মিনালকে অপ্রতিরোধ্যভাবে আটকাতে সহায়তা করে। ডিফল্ট 250 এর ট্রিগার এবং 100 এর ব্যবধান zero শূন্য একটি ট্রিগার হার সীমাবদ্ধকরণকে অক্ষম করে।


এটি গ্রহণযোগ্য সমাধান হওয়া উচিত, কারণ এটি কাজ করে।
পলিম

2
উদাহরণস্বরূপ setw -g c0-change-trigger 10 setw -g c0-change-interval 250>> ~ / .tmux.conf
দিমিত্রিসান্ডালভ

2
আমি এগুলি tmux 2.3 এ চেষ্টা করেছি এবং সেগুলি স্বীকৃত হয়নি। কমান্ডগুলি প্রচুর আউটপুট স্পে করে নিলে এটি সম্পূর্ণরূপে অকেজো হয়ে যায়।
Ijt

1
Tmux 2.1-র পরে, এই বিকল্পগুলি Raw.githubusercontent.com/tmux/tmux/2.6/CHANGES অনুসারে আর বিদ্যমান নেই রেট-সীমাবদ্ধকরণের জন্য c0- * বিকল্পগুলি সরানো হয়েছে। পরিবর্তে, একটি ব্যাক অফ ব্যবহার করা হয় used
মেগার

7

আপনি kill-paneঅধিবেশন থেকে সর্বদা কমান্ড জারি করতে পারেন । যদি টার্মিনাল পাঠ্যটিকে আবর্জনার মতো উইন্ডোটির নাম পরিবর্তন করা হয় এবং / অথবা জারি resetকরা ঠিক করা উচিত।


4

যেহেতু প্রক্রিয়া এবং আপনার টার্মিনালের tmuxমধ্যে নিজেকে সন্নিবেশ করানো হচ্ছে cat, তাই এটি থেকে আউটপুটটি পড়তে হবে, এটি টার্মিনালে catলিখতে হবে এবং একই সাথে টার্মিনাল থেকে আপনার ইনপুটটি পড়তে হবে (^ C) এবং এটিতে বাধা দেওয়ার জন্য শেলের কাছে প্রেরণ করা উচিত কমান্ড। আমি ঠিক জানি না ঠিক কী কারণে দেরি হয়, তবে এটি tmuxআপনার এবং শেলের মধ্যে যে আই / ও বাফারটি চালু তা সম্পর্কে কিছু tmux


3

ধরে নিই যে আপনি স্বল্প-বিলম্বিত সংযোগে ssh ব্যবহার করছেন, আপনি কি মশ ব্যবহার করার চেষ্টা করেছেন ? অন্যান্য খুব সুন্দর জিনিসগুলির মধ্যে যেমন ইনপুট পূর্বাভাস পাশাপাশি বেঁচে থাকা সংযোগ এবং ক্লায়েন্টের পক্ষে পরিবর্তিত আইপি, এটিও বিশেষত প্রতিক্রিয়া সময়ের উন্নতি করে যখন Ctrl-C ব্যবহার করে (পুরো স্ট্রিমটি প্রেরণের পরিবর্তে পর্যায়ক্রমে টার্মিনালের বিষয়বস্তু আপডেট করে) ।

আপনি কোনও সমস্যা ছাড়াই এর tmuxমধ্যে ব্যবহার করতে পারেন mosh


আশ্চর্যজনকভাবে যথেষ্ট, যখন আমি স্থানীয়ভাবে কাজ করি তখন এটি ঘটে। যদিও মোশ বেশ ঝরঝরে দেখাচ্ছে।
স্নোবল

1

Tmux 2.3 নিয়ে আমার এই সমস্যা হচ্ছে। আমি উপরে বর্ণিত হিসাবে সি-চেঞ্জ-ইন্টারভাল এবং সি0-চেঞ্জ-ট্রিগার বিকল্পগুলি সেট করার চেষ্টা করেছি তবে সেগুলি আর উপলব্ধ নেই। নতুন চেষ্টা করা সমাধানের সাথে গিট পরিবর্তনটি এখানে দেওয়া হয়েছে: https://github.com/tmux/tmux/commit/3f4ee98162cd5bb7000f93fec0e631e123b1281d

Tmux 1.8 এ ফিরে যাওয়া আমার জন্য কোনও বিকল্প সেট না করেই সমস্যার সমাধান করে।


তারা workaround ব্যবহার না করে এটি ঠিক করার চেষ্টা করছে বলে মনে হয়, সুতরাং নতুন সংস্করণগুলি আউটপুট সম্পর্কে আরও ভাল হওয়া উচিত। github.com/tmux/tmux/issues/849
ড্রাগন 788
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.