কোনও টিএমউক্স সেশনে এটি সংযুক্ত না করে কী চলছে তা আমি দেখতে পাচ্ছি?


16

প্রায়শই আমি tmuxএমন কোনও কাজ শুরু করতে ব্যবহার করব যা কিছুক্ষণ চলবে। আমি পর্যায়ক্রমে ফিরে যাব এবং এটি ব্যবহার করে চেক করব tmux -aএবং তারপরে এটি সম্পূর্ণ না হয়ে থাকলে সংযোগ বিচ্ছিন্ন করে পরে আবার চেক করব।

পুরোপুরি সংযুক্ত না করে সেশনে কী চলছে তার সংক্ষিপ্ত স্ন্যাপশট দেখার কোনও উপায় আছে কি? আমি tailআউটপুটটির শেষ বিট পেতে তাত্ত্বিকভাবে সেশনটিতে কিছু করার মতো কিছু খুঁজছি (তবে যদি আমি আউটপুটটির অনুলিপি সহ আরও একটি ফাইল তৈরি করা এড়াতে পারি)

সম্ভবত এটি সংযুক্ত করা এবং এটি অবিলম্বে বিচ্ছিন্ন করাও কাজ করবে। আমি কীস্ট্রোকগুলি সংরক্ষণ করার চেষ্টা করছি, সম্ভবত এই জাতীয় আদেশটি দূরবর্তীভাবে কার্যকর করা যেতে পারে,
অর্থাত্ ssh root@server tmux --tail?

উত্তর:


17

আমি মনে করি capture-paneআপনার প্রয়োজন অনুসারে হতে পারে:

tmux capture-pane -pt "$target-pane"

(একটি ফলক নির্দিষ্ট করার উপায়গুলির জন্য ম্যান পৃষ্ঠাতে "লক্ষ্য-ফলক" দেখুন)

ডিফল্টরূপে, সেই আদেশটি নির্দিষ্ট করা ফলকের বর্তমান বিষয়বস্তুগুলিকে ডাম্প করবে। আপনি ব্যবহার করে লাইন একটি সীমার নির্দিষ্ট করতে পারেন -Sএবং -Eঅপশন (শুরু এবং শেষ লাইন সংখ্যা): প্রথম লাইন 0, এবং ঋণাত্মক সংখ্যা ফলকে এর "স্ক্রল ফিরে" ইতিহাস থেকে লাইন পড়ুন। সুতরাং যোগ করা -S -10আপনাকে ইতিহাসের সাম্প্রতিক দশ লাইন প্লাস এবং বর্তমান ফলকের বর্তমান সামগ্রীগুলি দেয় gets

tmux capture-pane -pt "$target-pane" -S -10

-pবিকল্প 1.8 মধ্যে যোগ করা হয়েছিল। আপনি যদি পূর্ববর্তী সংস্করণটি চালাচ্ছেন তবে পরিবর্তে আপনি এটি করতে পারেন:

tmux capture-pane -t "$target_pane" \; save-buffer - \; delete-buffer

তবে সেমিকোলনগুলি মনে রাখুন যদি আপনি এই কমান্ডটি এই মাধ্যমে জারি করে থাকেন sshযেহেতু দূরবর্তী শেলটি শেল ব্যাখ্যার একটি অতিরিক্ত স্তর যুক্ত করে (সেমিকোলনগুলি চূড়ান্ত tmux কমান্ডের আর্গুমেন্ট হিসাবে পাস করা দরকার , সেগুলি স্থানীয় বা দূরবর্তী দ্বারা ব্যাখ্যা করা উচিত নয় শেল)।


1
আপনি সত্যই এই ট্যাগটির মালিক ... দুর্দান্ত উত্তর (যথারীতি)
জেসনওয়ারিয়ান

কেউ -eএএনএসআই পলায়নের জন্যও যোগ করতে পারে (রঙ ইত্যাদি)। এটি একটি সুন্দর স্মৃতিচারণের জন্য তৈরি করে-pet
মেষ উড়ন্ত

1

আসলে তা না. একটি দৃষ্টিভঙ্গি যা মনে জাগে তা হ'ল আপনার দীর্ঘ চলমান প্রক্রিয়া ( $lrp) শুরু করা এবং তারপরে পর্যায়ক্রমে পুনরায় সংযুক্ত list-windowsনা করে প্রাসঙ্গিক অধিবেশনের জন্য দৌড়ানো ।

এক পর্যায়ে, m lrp সহ tmux উইন্ডোটির নামটি ডিফল্ট, সাধারণত আপনার শেলটিতে ফিরে আসবে এবং আপনি দেখতে পাবেন যে $ lrp সম্পন্ন হয়েছে।

┌─[Veles ~]
└─╼ tmux list-windows -t 0
0: App1  (1 panes) [142x51] [layout b27d,142x51,0,0,0] @0
1: SSH  (1 panes) [142x51] [layout b27e,142x51,0,0,1] @1
2: IRC  (1 panes) [142x51] [layout b27f,142x51,0,0,2] @2
3: Shell- (1 panes) [142x51] [layout b280,142x51,0,0,3] @3
4: $lrp* (1 panes) [142x51] [layout b281,142x51,0,0,4] @4 (active)
┌─[Veles ~]
└─╼ tmux list-windows -t 0
0: App1  (1 panes) [142x51] [layout b27d,142x51,0,0,0] @0
1: SSH  (1 panes) [142x51] [layout b27e,142x51,0,0,1] @1
2: IRC  (1 panes) [142x51] [layout b27f,142x51,0,0,2] @2
3: Shell- (1 panes) [142x51] [layout b280,142x51,0,0,3] @3
4: bash* (1 panes) [142x51] [layout b281,142x51,0,0,4] @4 (active)

ভাল ধারণা. $lrpযদিও আমি এখনও বিভ্রান্ত হয়েছি - এটি কি আপনার উল্লেখযোগ্য একটি চলক ছিল? আপনি কীভাবে এটি ব্যবহার করবেন তার উদাহরণ দিতে পারেন? দেখতে পাইনি $lrpতালিকাভুক্তman tmux
cwd

@ সিডব্লিউড এটি আপনার প্রক্রিয়াটির জন্য কেবল স্থানধারক ( rsyncযাই হোক বা যাই হোক না কেন) ... :)
জেসনওয়ারিয়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.