সংক্ষিপ্তসার : আমি যখন ssh থেকে সংযোগ বিচ্ছিন্ন করলাম তখন কেন আমার tmux সেশনটি মারা যায় figure
বিশদ :
আমি একটি আর্চ লিনাক্স সিস্টেমে tmux ইনস্টল করেছি। আমি যখন কোনও টিএমএক্স সেশন শুরু করি তখন আমি তা থেকে আলাদা করতে পারি এবং এসএস সেশনটি সক্রিয় থাকাকালীন আবার সংযুক্ত করতে পারি। তবে আমি যদি আমার ssh অধিবেশনটি শেষ করি তবে tmux সেশনটি মারা যায়।
আমি জানি এটি স্বাভাবিক আচরণ নয় কারণ আমার অন্যান্য সিস্টেম রয়েছে যেখানে ssh অধিবেশন শেষ হয়ে গেলেও tmux অধিবেশন চলতে থাকে এবং একটি নতুন ssh সংযোগ স্থাপনের পরে আমি tmux সেশনে সংযুক্ত করতে পারি। যে সিস্টেমে একটি সমস্যা আছে এবং সঠিকভাবে কাজ করে এমন সিস্টেমে খুব অনুরূপ কনফিগারেশন রয়েছে তাই আমি কী পরীক্ষা করব তা নিশ্চিত নই।
আমি tmux সংস্করণ 1.9a চালাচ্ছি। যে সিস্টেমে সমস্যা রয়েছে (যেটির জন্য আমার কাছে রুট অ্যাক্সেস রয়েছে) এর লিনাক্স কার্নেল সংস্করণ রয়েছে 17.১.4.৪-১ এবং যে সিস্টেমটি সঠিকভাবে কাজ করে তার কার্নেল সংস্করণ রয়েছে 16.১.4.৪-১-আর্চ (এর মূলটি আমার নেই) পদ্ধতি). আমি সন্দেহ করি যে কার্নেল সংস্করণটি সমস্যার উত্স যদিও এটি কেবলমাত্র একটি পার্থক্য আমি লক্ষ্য করেছি।
আমি ভেবেছিলাম যে আমি যদি কেউ অনুরূপ সমস্যা দেখেছেন এবং কোনও সম্ভাব্য সমাধান জানেন কিনা তা জানতে জিজ্ঞাসা করব।
সমস্যার দিকে নিয়ে যাওয়ার সঠিক পদক্ষেপগুলি হ'ল:
- মেশিনে ssh
tmux
tmux শুরু করতে চালানctrl-B D
বিচ্ছিন্ন করা (এই মুহুর্তে আমি আবার সংযুক্ত হতে পারে)tmux attach
- ssh অধিবেশন বন্ধ করুন (এই মুহুর্তে tmux সেশনটি মারা গেছে, আমি যখন অন্য টার্মিনালে রুট হিসাবে লগ ইন করব তখন আমি এটি পর্যবেক্ষণ করতে সক্ষম হয়েছি)
- ssh এর সাথে পুনরায় সংযোগ স্থাপন করুন এবং রান করুন
tmux attach
এবং আমি বার্তাটিno sessions
এবং চলমানtmux ls
রিটার্ন পাইfailed to connect to server: Connection refused
। এটি বোঝা যায় কারণ পরিবেশন চলছে না। আমার কী অর্থ হয় না তা হ'ল আমি যখন ssh অধিবেশন থেকে সংযোগ বিচ্ছিন্ন করি তখন কেন এটি 4 ধাপে মারা যায়।
স্ট্রেস ডেটা:
একটি মন্তব্যের জবাবে আমি স্ট্রেস ব্যবহার করে দেখতে পেয়েছি যে সিস্টেমগুলি কী টিএমএক্স সার্ভার প্রক্রিয়া কল করে। দেখে মনে হচ্ছে যখন আমি আমার ssh সেশনটি (টাইপ করে exit
বা এর মাধ্যমে ctrl-d
) প্রস্থান করি যখন tmux প্রক্রিয়াটি নিহত হচ্ছে। স্ট্রেস আউটপুটটির চূড়ান্ত অংশের একটি স্নিপেট এখানে।
poll([{fd=4, events=POLLIN}, {fd=11, events=POLLIN}, {fd=6, events=POLLIN}], 3, 424) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=1, si_uid=0} ---
sendto(3, "\17", 1, 0, NULL, 0) = 1
+++ killed by SIGKILL +++
আমি এটিকে অন্য একটি সিস্টেমের সাথে তুলনা করেছি যেখানে tmux সঠিকভাবে কাজ করে এবং সেই সিস্টেমে tmux প্রক্রিয়াটি প্রস্থান করার পরেও চলতে থাকে। সুতরাং মূল কারণটি দেখা যাচ্ছে যে আমি ssh সেশনটি বন্ধ করার সাথে সাথে tmux প্রক্রিয়াটি সমাপ্ত হচ্ছে। কারণটি বের করার জন্য আমার এটি সমস্যার সমাধানের জন্য কিছুটা সময় ব্যয় করতে হবে, তবে আমি ভেবেছিলাম যে স্ট্রেস পরামর্শটি কার্যকর হওয়ায় আমি আমার প্রশ্নটি আপডেট করব।