কোনও টাস্ক কার্যকর হওয়ার সময় টার্মিনালে সিরিয়াল কাজগুলি সরবরাহ করার কোনও উপায় আছে (কোনও ফাইল ব্যবহার না করে)?


14

ধরুন এখানে 2 টি কাজ রয়েছে t1, t2যা নীচে সিরিয়াল পদ্ধতিতে কার্যকর করা যেতে পারে:

t1 ; t2
# OR
t1 && t2

এখন ধরুন আমি দৌড়াতে ভুলে গিয়েছি t2এবং t1ইতিমধ্যে দৌড়াচ্ছি; আমি t2কী পাইপলাইনে যুক্ত করতে পারি যাতে এটি t1শেষ হওয়ার পরে কার্যকর হয় ?

উত্তর:


19

হ্যা, তুমি পারো:

  1. + টিপে স্থগিত চরিত্রের সাথে বর্তমানে চলমান কাজটি বিরতি দিন ।CtrlZ
  2. টাইপ করুন fgঅথবা %, অ্যাড কি আপনি তালিকার করতে চান এবং এটি চালানো, যেমন:
    fg ; systemctl suspend # or
    % ; systemctl suspend
    যেহেতু fgপুনরায় কাজ শুরু হয়েছিল তার রিটার্নের মানটি যেহেতু প্রত্যাবর্তন করেছে, অপারেটরগুলির তালিকা তৈরি করুন &&এবং ||প্রত্যাশার মতো কাজ করুন:
    fg && echo "Finished successfully!" # or
    % && echo "Finished successfully!"

man bash/ জব কনট্রোল স্থগিত চরিত্র সম্পর্কে বলে:

কোনও প্রক্রিয়া চলাকালীন স্থগিত অক্ষর (সাধারণত ^Z, Control- Z) টাইপ করার ফলে সেই প্রক্রিয়াটি বন্ধ হয়ে যায় এবং এতে নিয়ন্ত্রণ ফিরে আসে bash। (…) এরপরে ব্যবহারকারী এই কাজের bgস্থিতি নিয়ে পটভূমিতে fg চালিয়ে যেতে কমান্ডটি, অগ্রভাগে এটি চালিয়ে যাওয়ার killআদেশ বা এটি হত্যা করার আদেশ ব্যবহার করে এই চাকরির পরিস্থিতিটি সামাল দিতে পারে। একজন ^Zঅবিলম্বে কার্যকর নেয় এবং মুলতুবী আউটপুট ঘটাচ্ছে অতিরিক্ত পার্শ্ব প্রতিক্রিয়া রয়েছে এবং বাতিল করা Typeahead।

fgman bash/ বিক্রয় বিল্টিন কম্যান্ডে ব্যাখ্যা করা হয়েছে :

FG [ jobspec ]
পুনঃসূচনা jobspec পুরোভূমিতে, এবং এটি বর্তমান কাজের ভুলবেন না। যদি জবস্পেকটি উপস্থিত না থাকে তবে বর্তমান কাজের শেল ধারণাটি ব্যবহৃত হয়। প্রত্যাবর্তনের মানটি অগ্রভাগে স্থাপন করা কমান্ডের, বা চাকরি নিয়ন্ত্রণ অক্ষম করা অবস্থায় চালানো হলে ব্যর্থতা বা যখন চাকরী নিয়ন্ত্রণ সক্ষম করার সাথে চালানো হয়, যদি জবস্পেক কোনও বৈধ কাজ নির্দিষ্ট করে না বা জবস্পেক কোনও চাকরি নিয়ন্ত্রণ ছাড়াই শুরু করা কাজ নির্দিষ্ট করে ।

man bashচাকরি নিয়ন্ত্রণে আরও পড়া (বাদে ):


+1 টি কিন্তু এটি একটি লজ্জা এই যখন তোমাকে ভুলে কাজ না করে এর t3মধ্যে t1; t2; t3বা t1 && t2 && t3
জো

@ জোল সত্য যে - ^Z^Zএবং %-;%+;t3এটি কিছু ক্ষেত্রে যথেষ্ট ভাল তবে সমস্যার আসল সমাধান হওয়া অনেক দূরে।
মিষ্টান্ন

2

আমি এই পদ্ধতিটি এখানে দেখতে পেয়েছি: /superuser/

যেখানে আপনি প্রথমে Ctrl+ + zস্টপ করার জন্য (সাসপেন্ড) চলমান এক তারপর আপনি তাই ভালো মিস কমান্ডটি প্রয়োগ করুন: fg && ./missed_cmd.shএবং এটি যত তাড়াতাড়ি চালানো হবে fgশেষ।

fg(পুরোভাগে কমান্ড) স্থগিত কাজ অনলাইন ফিরিয়ে নিয়ে আসবে এবং &&নিশ্চিত করবে যে মিস কমান্ড শুধুমাত্র যদি প্রথম কমান্ড সফল চালানো হয়।

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