জিএনইউ স্ক্রিনে শুরু হওয়া একটি প্রোগ্রাম অন্য টার্মিনালে সরান


21

আমি জিএনইউর একটি উদাহরণটি শেষ করতে চাই, screenযেখানে এটির অভ্যন্তরীণ প্রক্রিয়াটি সংরক্ষণ করা যায়।

তাই আমি আমার নিয়মিত টার্মিনাল এমুলেটর প্রোগ্রামটি ওপেন করেছি এবং স্ক্রিনটি কার্যকর করেছি। তারপরে আমি screenমৃত্যুর উদাহরণটি ব্যবহার করেছি ./script_x.sh। এখন, যে কারণেই হোক না কেন, আমি এখনও screenব্যবহারটি ছেড়ে দিতে চাই তবে script_x.shএখনও এটির কাজটি শেষ করেনি এবং আমি আমার অগ্রগতিটি বাজেয়াপ্ত করতে রাজি নই।

আমার নিয়মিত টার্মিনাল এমুলেটারের ভিতরে এটির কাজ চালিয়ে যেতে আমি কী সক্রিয় প্রক্রিয়াটি জীবিত রাখতে পারি?


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

বা screenসেশনের ভিতরে কেবল অন্য একটি পর্দা তৈরি করুন।
ক্রাইলিস

11
এই প্রশ্নগুলির XY সমস্যার মতো গন্ধ আছে ।
ডিজিটাল ক্রিস

7
@ tjt263 - আপনি বলছেন যে আপনি প্রথমে স্ক্রিন ব্যবহার করে অনুশোচনা করছেন, আপনি যদি পর্দা ব্যবহার না করেন তবে আপনার প্রক্রিয়াটি চালিয়ে যেতে আপনি কী করবেন? আপনি এখনও স্ক্রিনে প্রক্রিয়াটি একই জিনিস করতে পারেন, তবে স্ক্রিনের অতিরিক্ত সুবিধা হ'ল আপনি এটি থেকে বিচ্ছিন্ন হয়ে আপনার প্রক্রিয়াটিকে নিরবিচ্ছিন্নভাবে চালিত করতে পারেন।
জনি

@ ডিজিটাল চিরিস এটি এখনই করতে পারে। আমি মনে করি মূল শিরোনামটি সম্ভবত আরও প্রাসঙ্গিক ছিল। 3 টি স্বতন্ত্র পয়েন্ট রয়েছে: আমি ভিতরে একটি প্রোগ্রাম চালাচ্ছিলাম screen। আমি ব্যবহার বন্ধ করতে চেয়েছিলাম screen। আমি ভিতরে চলমান প্রোগ্রামটি থামাতে চাইনি screen। এটাই. আমি কীভাবে পরিস্থিতি স্পষ্ট করতে বা এর থেকে সহজতর কোনও প্রকাশ করতে জানি না।
ভয়েসেস রয়েছে

উত্তর:


31

টিএলডিআর: ব্যবহারিক উত্তর: না

দীর্ঘ উত্তর:

তত্ত্ব আপনি করতে পারেন। আপনি যদি nohup myprog &স্ক্রিনের ভিতরে থেকে এমন কিছু শুরু করেন তবে এটি চলতে থাকবে। এটি একটি হ্যাঙ্গআপ সংকেত উপেক্ষা করবে এবং এতে কোনও ইনপুট থাকবে না, তবে থিওরিতে আপনি এটির সাথে কাজ চালিয়ে যেতে পারেন।

অনুশীলন ক্ষেত্রে এটি হয় না। সুতরাং যদি না আপনি চলমান প্রক্রিয়াতে কোনও ডিবাগার সংযুক্ত করতে চান এবং এর ফাইল হ্যান্ডলগুলি পুনরায় লিখতে চান এবং নিশ্চিত না হন যে আপনি যখন স্ক্রিনটি বন্ধ করেন তখন প্রক্রিয়াটি -1 সিগন্যালগুলি পরিচালনা করে ... তবে উত্তরটি নেই is

আপনি যদি এটি করতে প্রস্তুত হন তবে বাড়িতে আমার একটি বুকমার্ক রয়েছে যা [এসইউ] এর দিকে ইঙ্গিত করছে যেখানে কেউ কেবল এটি করেছে । অসাধারণতার জন্য সংরক্ষণ করা, এটি করা সহজ এবং তুচ্ছ হিসাবে নয়।


মনে রাখবেন যে আপনার উত্তর থেকে প্রশ্নটি ব্যাপকভাবে সম্পাদিত হয়েছে।
ক্রাইলিস-হরতাল-

কোনও প্রক্রিয়া সংযোগ বিচ্ছিন্ন করা মোটামুটি সোজা - এটি প্রক্রিয়া গ্রুপগুলি সেট করার প্রশ্ন (সাথে disownবা নিম্ন স্তরে) যাতে SIGHUPপিতামাতার প্রক্রিয়াটি মারা যায় তখন কোনও পাঠানো হবে না। যেখানে ডিবাগার আসে আমি পুনঃসংযোগ / O যে altogether-- অন্য জিনিস।
Alexis

আপনি প্রয়োজন হবে না nohupআপনি একটি কাজ নিয়ন্ত্রণ শেল (যেমন আছে bash, ksh, csh, zsh, ash, ইত্যাদি)। আপনি যদি এখনও বোর্নের মতো একটি নন-জব কন্ট্রোল শেল ব্যবহার shকরেন তবে আপগ্রেড করার সময় এসেছে।
ছানা

23

আপনি reptyrইতিমধ্যে চলমান অ্যাপ্লিকেশনটিকে বিভিন্ন টার্মিনালে পুনরায় সংযুক্ত করার চেষ্টা করতে পারেন । যদিও এর ব্যাকগ্রাউন্ডে প্রেরণ প্রক্রিয়ায় কিছু সমস্যা রয়েছে।

আমি কেবল এটি পরীক্ষা করেছি ( htopভিতরে শুরু করুন screen, reptyrএটি অন্য টার্মিনালের কাছে, হত্যা screen), এবং এটি ঠিকঠাক কাজ করার মতো বলে মনে হয়েছিল। তবুও এটি সত্যিই হ্যাকি সমাধান, সুতরাং কোনও গ্যারান্টি নেই।


1
জিডিবি ব্যবহার করার চেয়ে কম হ্যাকি :)
হেনেস

14

হ্যাঁ (যদি "হত্যা" সত্যিই হত্যা না হয়), এটি আসলে পর্দার জন্য। আপনার ম্যানুয়ালটি যাচাই করা উচিত এবং এর মধ্যে কোনটি আপনার প্রয়োজন অনুসারে ফিট করে দেখুন:

C-a d
C-a C-d     (detach)      Detach screen from this terminal.

C-a D D     (pow_detach)  Detach and logout.

তারপরে আপনার যা প্রয়োজন তা হ'ল আপনার পছন্দ অনুসারে স্ক্রিনের -D / -d -R / -r কমান্ড লাইন বিকল্পগুলি।


1
এটি প্রশ্নের উত্তর দেয় না। ওপি স্ক্রিন থেকে আলাদা করতে চায় না, তারা স্ক্রিন প্রক্রিয়াটি শেষ করতে চায়।
গুট্রাম ব্লহম মনিকা

6
হ্যাঁ, তিনি এটি লিখেছিলেন তবে আমি নিশ্চিত নই যে তিনি কী চান সে জিজ্ঞাসা করেছিল।
গম্বাই স্যান্ডর

11
@ গুট্রামব্লহম এটি মোটেও পরিষ্কার নয় যে ওপি স্ক্রিনটি কীভাবে কাজ করে তা বোঝে এবং এটি সম্ভবত সম্ভবত কাঙ্ক্ষিত প্রভাব।
ক্রাইলিস

2
আপনি কি জানেন যে স্ক্রিনটি এক্সটারম থেকে আলাদা কোনও টার্মিনাল নয় তবে একটি স্তর (সিউডো টার্মিনাল) যা অন্য আসল টার্মিনাল থেকে আলাদা করার পরে আপনার আসল টার্মিনাল (vterm, xterm, টার্মিনেটর, (মি) আরএক্সভিটি, কোনও) এর সাথে সংযুক্ত থাকতে পারে? এবং স্ক্রিনটি হ'ল যা আপনার প্রক্রিয়াটিকে স্ক্রিনের অভ্যন্তরে শুরু করেছিল তা চালিয়ে যায় (এবং এটি এটি ভাল করে)। যদি আপনি (সত্যিই হত্যা) স্ক্রিনটি হত্যা করেন, তবে আপনি আপনার প্রক্রিয়াটির অধীনে গালিচাটি টানুন ... আপনি কেন এমনটি করবেন তার কোনও ভাল কারণ আমি দেখতে পাচ্ছি না।
গম্বাই স্যান্ডর

1
@ GombaiSándor এক কারণ চান করতে যে প্রক্রিয়া আলাপ করা হবে সরাসরি অর্ডার ক্ষমতা মধ্য দিয়ে পাস করার স্ক্রীনে কথা কে না জানে একটি টার্মিনালে। উদাহরণস্বরূপ, আমি একবার আমার কীবোর্ডের সমস্ত অদ্ভুত ফাংশন কীগুলি X11 কীজম এবং সম্পূর্ণ সংশোধনকারী রাষ্ট্রটি অন্তর্ভুক্ত করে এস্কেপ সিকোয়েন্সগুলি প্রেরণের জন্য আমার নিজস্ব সংস্করণটি হ্যাক করেছিলাম, এটি কোনও ভিটি 102 ছিল না to ইমাসে তাদের জন্য কী-বাইন্ডিং। এই সিকোয়েন্সগুলি ক্ষতিগ্রস্থ হয়ে পর্দার মধ্য দিয়ে যাবে না।
হেনিং মাখোলম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.