কমান্ড কার্যকর করার পরে বাশকে কীভাবে চলতে হবে?


29

আমি এই জাতীয় কিছু চালাতে চাই:

bash -c "some_program with its arguments"

তবে ইন্টারেক্টিভ ব্যাশটি some_programশেষের দিকে চালিয়ে যেতে হবে ।

আমি নিশ্চিত -cযে man bashচোখের মতো ভাল উপায় নয় :

একটি ইন্টারেক্টিভ শেলটি হ'ল অপ-বিকল্প যুক্তি ছাড়াই এবং -c বিকল্প ব্যতীত

তাহলে এটি কিভাবে করবেন?

মূল লক্ষ্যটি এখানে বর্ণিত হয়েছে

বিঃদ্রঃ

  • আমাকে some_programসময়ে সময়ে শেষ করতে হবে
  • আমি এটিকে ব্যাকগ্রাউন্ডে রাখতে চাই না
  • আমি bashতখন অন্য কিছু করার জন্য থাকতে চাই
  • আমি আবার প্রোগ্রাম চালাতে সক্ষম হতে চাই

1
যদি লক্ষ্যটি জটিল হয় তবে আপনার এটি এখানেও ব্যাখ্যা করা উচিত। তবে এটি কেবল একটি পরামর্শ
কিউই

1
আমি এখানে যথাসম্ভব সংক্ষিপ্তভাবে এবং খুব নির্ভুলভাবে বর্ণনা করার চেষ্টা করেছি। তবে আমি আশা করিনি যে বেশিরভাগ লোকেরা বিশদগুলিতে মনোনিবেশ করবে না এবং অন্য কিছু প্রস্তাব দেওয়ার চেষ্টা করবে। এটি পরিষ্কার করার জন্য আমি কিছু নোট রাখব।
pawel7318

অন্যান্য প্রশ্নে টার্মিনালটি কীভাবে পালাতে পারে? আপনি যে লক্ষ্যটি বর্ণনা করেছেন তা করণীয়, তবে এর জন্য i / o পরিচালনা করা প্রয়োজন। আপনার গড় সাবসেল কোনও নিয়মিত ফাইলের মাধ্যমে সহজেই টার্মিনাল পলায়ন i / o পরিচালনা করতে পারে না। আপনার উচিত হবেpty.
মাইকসার্ভ

নীচে আমার উত্তরটিতে এটি কাজ করার একমাত্র কারণ, উপায় হ'ল আমি টার্মিনালটি চুরি করি। শেষ পর্যন্ত, যদিও পিতামাতার প্রক্রিয়াটি এটি আবার ফিরিয়ে আনতে পারে - এবং তারপরে আপনি 4 কেবি বাফারটির দিকে তাকাচ্ছেন।
মাইক্রজারভ

আপনি কোনও প্রোগ্রামকে পটভূমিতে রাখতে চান না কেন? ব্যাকগ্রাউন্ডে এটি শুরু করুন, কিছু বাশ করুন, এর সাথে অগ্রভাগ করুনfg
বার্নহার্ড

উত্তর:


8
( exec sh -i 3<<SCRIPT 4<&0 <&3                                        
    echo "do this thing"
    echo "do that thing"
  exec  3>&- <&4
  SCRIPT
)

স্ক্রিপ্ট থেকে এটি আরও ভালভাবে করা হয়েছে exec $0.বা এর সাথে বা যদি সেই ফাইল বর্ণনাকারীদের মধ্যে একটি যদি টার্মিনাল ডিভাইসের দিকে নির্দেশ দেয় যা বর্তমানে ব্যবহৃত হচ্ছে না তবে এটি সাহায্য করবে - আপনি মনে রাখতে হবে, অন্যান্য প্রক্রিয়াও সেই টার্মিনালটি পরীক্ষা করতে চায়।

এবং যাইহোক, যদি আপনার লক্ষ্যটি হয়, যেমন আমি এটি ধরে নিয়েছি, স্ক্রিপ্টটির পরিবেশনাটি কার্যকর করার পরে এটির পরিবেশ সংরক্ষণ করা, আপনি সম্ভবত আরও অনেক ভাল পরিবেশিত হতে চাই:

. ./script

শেল এর .dotএবং bash's sourceনা এক এবং একই - শেল এর .dotPOSIX একটি বিশেষ শেল builtin হিসাবে নির্দিষ্ট রয়েছে এবং ঘনিষ্ঠ নিশ্চিত হচ্ছে হিসাবে আপনি পেতে পারেন সুতরাং, যদিও এই কোন মানে একটি গ্যারান্টি সেখানে হবে ...

যদিও উপরেরটি আপনার সামান্য সমস্যা নিয়ে প্রত্যাশা মতো করা উচিত। উদাহরণস্বরূপ, আপনি:

 ( exec sh -i 3<<SCRIPT 4<&0 <&3                                        
    echo "do this thing"
    echo "do that thing"
    $(cat /path/to/script)
    exec  3>&- <&4
    SCRIPT
 )

শেলটি আপনার স্ক্রিপ্টটি পরিচালনা করবে এবং আপনাকে ইন্টারেক্টিভ প্রম্পটে ফিরিয়ে দেবে - যতক্ষণ না আপনি exitনিজের স্ক্রিপ্ট থেকে শেলটি ইঙ্গিত করবেন না, বা আপনার প্রক্রিয়াটি ব্যাকগ্রাউন্ড করবেন - এটি আপনার আই / ও-র সাথে লিঙ্ক করবে/dev/null.

ডেমো:

% printf 'echo "%s"\n' "These lines will print out as echo" \
    "statements run from my interactive shell." \
    "This will occur before I'm given the prompt." >|/tmp/script
% ( exec sh -i 3<<SCRIPT 4<&0 <&3
    echo "do this thing"
    echo "do that thing"
    $(cat /tmp/script)
    exec  3>&- <&4
SCRIPT
)
sh-4.3$ echo "do this thing"
    do this thing
sh-4.3$ echo "do that thing"
    do that thing
sh-4.3$ echo "These lines will print out as echo"
    These lines will print out as echo
sh-4.3$ echo "statements run from my interactive shell."
    statements run from my interactive shell.
sh-4.3$ echo "This will occur before I'm given the prompt."
    This will occur before I'm given the prompt.
sh-4.3$ exec  3>&- <&4
sh-4.3$

অনেক JOBS

এটি আমার অভিমত যে শেলের বিল্ট-ইন টাস্ক ম্যানেজমেন্ট বিকল্পগুলির সাথে আপনার আরও কিছুটা পরিচিত হওয়া উচিত। @ কিউই এবং জিলাগ্রে উভয়ই তাদের উত্তরগুলিতে ইতিমধ্যে এটি স্পষ্ট করে ফেলেছে তবে এটি আরও বিশদটির নিশ্চয়তা দিতে পারে। এবং আমি ইতিমধ্যে POSIX-নির্দিষ্ট বিশেষ শেল বিল্ট-ইন উল্লিখিত করেছি, কিন্তু set, jobs, fg,bgআরো কয়েকটি আছে, এবং, যেমন অন্য উত্তর প্রমান trapএবং killআরও এখনও দুটি আছে।

আপনি যদি ইতিমধ্যে একই সাথে ব্যাকগ্রাউন্ড প্রক্রিয়াগুলির স্থিতিতে তাত্ক্ষণিক বিজ্ঞপ্তিগুলি না পেয়ে থাকেন তবে এটি হ'ল আপনার বর্তমান শেল বিকল্পগুলি পসিক্স-নির্দিষ্ট ডিফল্টের জন্য সেট করা আছে তবে পরিবর্তে -mআপনি এগুলি অবিচ্ছিন্নভাবে পেতে পারেন set -b:

% man set
    b This option shall be supported if the implementation supports the
         User  Portability  Utilities  option. It shall cause the shell to
         notify the user asynchronously of background job completions. The
         following message is written to standard error:
             "[%d]%c %s%s\n", <job-number>, <current>, <status>, <job-name>

         where the fields shall be as follows:

         <current> The  character  '+' identifies the job that would be
                     used as a default for the fg or  bg  utilities;  this
                     job  can  also  be specified using the job_id "%+" or
                     "%%".  The character  '−'  identifies  the  job  that
                     would  become  the default if the current default job
                     were to exit; this job can also  be  specified  using
                     the  job_id  "%−".   For  other jobs, this field is a
                     <space>.  At most one job can be identified with  '+'
                     and  at  most one job can be identified with '−'.  If
                     there is any suspended  job,  then  the  current  job
                     shall  be  a suspended job. If there are at least two
                     suspended jobs, then the previous job also shall be a
   m  This option shall be supported if the implementation supports the
         User Portability Utilities option. All jobs shall be run in their
         own  process groups. Immediately before the shell issues a prompt
         after completion of the background job, a message  reporting  the
         exit  status  of  the background job shall be written to standard
         error. If a foreground job stops, the shell shall write a message
         to  standard  error to that effect, formatted as described by the
         jobs utility. In addition, if a job  changes  status  other  than
         exiting  (for  example,  if  it  stops  for input or output or is
         stopped by a SIGSTOP signal), the shell  shall  write  a  similar
         message immediately prior to writing the next prompt. This option
         is enabled by default for interactive shells.

ইউনিক্স-ভিত্তিক সিস্টেমগুলির একটি খুব মৌলিক বৈশিষ্ট্য হ্যান্ডলিং প্রক্রিয়া তাদের পদ্ধতি signals। আমি একবার এই বিষয়ের উপর একটি আলোকিত নিবন্ধ পড়েছিলাম যা এই প্রক্রিয়াটির সাথে এখন গ্রহটির ডগলাস অ্যাডামসের বর্ণনার সাথে তুলনা করে:

"গ্যালাক্সি টু হিচাইকারের গাইডে, ডগলাস অ্যাডামস একটি অত্যন্ত নিস্তেজ গ্রহের কথা উল্লেখ করেছেন, সেখানে হতাশাগ্রস্ত মানুষের একগুচ্ছ এবং ধারালো দাঁতযুক্ত একটি নির্দিষ্ট জাতের প্রাণী রয়েছে যা মানুষের সাথে উরুতে খুব কঠোর কামড় দিয়ে যোগাযোগ করে। এটি আশ্চর্যজনক ইউএনআইএক্সের অনুরূপ, যেখানে কার্নেল তাদের পক্ষাঘাতগ্রস্থ বা মারাত্মক সংকেত প্রেরণ করে প্রক্রিয়াগুলির সাথে যোগাযোগ করে। প্রক্রিয়াগুলি কিছু সংকেতকে বাধা দিতে পারে এবং পরিস্থিতিটির সাথে খাপ খাইয়ে নিতে চেষ্টা করতে পারে, তবে বেশিরভাগই তা করে না। "

এটি উল্লেখ করা হয় kill signals

% kill -l 
> HUP INT QUIT ILL TRAP ABRT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH POLL PWR SYS

কমপক্ষে আমার জন্য, উপরোক্ত উদ্ধৃতিটি অনেক প্রশ্নের উত্তর দিয়েছে। উদাহরণস্বরূপ, আমি সর্বদা এটি খুব অদ্ভুত এবং স্বজ্ঞাত হিসাবে বিবেচনা করতাম না যে যদি আমি কোনও ddপ্রক্রিয়াটি পর্যবেক্ষণ করতে চাই তবে আমার তা ছিল kill। এটি পড়ার পরে তা বোঝা গেল।

আমি বলব যে তাদের বেশিরভাগই ভাল কারণে অভিযোজিত হওয়ার চেষ্টা করবেন না - এটির চেয়ে আরও বড় বিরক্তি আর কিছু হতে পারে যেহেতু তাদের টার্মিনালগুলিকে স্পর্শ করে এমন একগুচ্ছ প্রক্রিয়া যা আপনার বিকাশকারীরা ভেবেছিলেন যে আপনার পক্ষে গুরুত্বপূর্ণ হতে পারে ।

আপনার টার্মিনাল কনফিগারেশনের উপর নির্ভর করে (আপনার সাথে পরীক্ষা করতে পারবেন যা stty -a) , CTRL+Zসম্ভবত সেট একটা ফরওয়ার্ড হয় SIGTSTPবর্তমান ফোরগ্রাউন্ড প্রক্রিয়া দলের নেতা, যা সম্ভবত আপনার শেল হয়, এবং যা এছাড়াও ডিফল্টরূপে কনফিগার করা উচিত trapযে সংকেত এবং আপনার শেষ কমান্ড স্থগিত। আবার, @ জিলাগ্রে এবং @ কিউইয়ের উত্তরগুলি একসাথে দেখায়, আপনার পছন্দ অনুযায়ী এই উদ্দেশ্যে কার্যকারিতাটি তৈরি করতে আপনাকে কোনও বাধা দিচ্ছে না।

SCREEN JOBS

সুতরাং এই বৈশিষ্ট্যগুলির সুবিধা গ্রহণ করার জন্য এটি প্রত্যাশা করা হয় যে আপনি প্রথমে সেগুলি বুঝতে এবং তাদের নিজের হ্যান্ডেলিংটি আপনার নিজের প্রয়োজন অনুসারে কাস্টমাইজ করুন। উদাহরণস্বরূপ, আমি সবেমাত্র গিথুব-এ এই স্ক্রিনসিআরসি পেয়েছি যার জন্য screenকী-বাইন্ডিংগুলি অন্তর্ভুক্ত রয়েছে SIGTSTP:

# hitting 'C-z C-z' will run Ctrl+Z (SIGTSTP, suspend as usual)
bind ^Z stuff ^Z

# hitting 'C-z z' will suspend the screen client
bind z suspend

এটি শিশু screenপ্রক্রিয়া হিসাবে চালিত কোনও প্রক্রিয়া বা screenআপনার ইচ্ছামতো শিশু প্রক্রিয়া নিজেই স্থগিত করা সহজ বিষয় হয়ে উঠবে ।

এবং ততক্ষণে:

% fg  

বা:

% bg

আপনার পছন্দ অনুযায়ী প্রক্রিয়াটির অগ্রভাগ বা ব্যাকগ্রাউন্ড করবে Would jobsবিল্ট-ইন আপনি যে কোনো সময়ে এই একটি তালিকা প্রদান করতে পারেন। -lঅপারেন্ড যুক্ত করাতে পিডের বিবরণ অন্তর্ভুক্ত থাকবে।


দেখতে খুব ইন্টারেস্টিং লাগছে। আমি আজকের পরে এটির সমস্ত পরীক্ষা করতে সক্ষম হবো।
pawel7318

23

এখানে একটি সংক্ষিপ্ত সমাধান যা আপনি যা চান তা পূরণ করে, তবে সমস্যাটি কীভাবে বোঝায় এবং ব্যাশ কীভাবে কাজ করে তা যদি না বুঝতে পারে তবে তা বোধগম্য হবে না:

bash -i <<< 'some_program with its arguments; exec </dev/tty'

এটি একটি ব্যাশ শেলটি চালু করবে, শুরু করবে some_programএবং some_programপ্রস্থান করার পরে , আপনাকে ব্যাশ শেলটিতে ফেলে দেওয়া হবে।

মূলত আমরা যা করছি তা হল এটির স্ট্যান্ডিনের উপর একটি স্ট্রিংকে বাশ খাওয়ানো। স্ট্রিং হয় some_program with its arguments; exec </dev/tty। এটি বাশকে some_programপ্রথমে চালু করতে এবং তারপরে চালাতে বলে exec </dev/tty। সুতরাং স্ট্রিং থেকে কমান্ডগুলি পড়া চালিয়ে যাওয়ার পরিবর্তে আমরা এটি পাস করি, বাশ এখান থেকে পড়া শুরু করবে /dev/tty

-iকারণ যখন ব্যাশ শুরুর, যদি stdin একটি TTY কিনা দেখতে পরীক্ষা, এবং যখন এটা শুরু হয় এটা না। তবে পরে এটি হবে, তাই আমরা এটিকে ইন্টারেক্টিভ মোডে জোর করে নিই।


আরেকটি সমাধান

আমি অন্য যে ধারণাটি খুব পোর্টেবল হতে ভেবেছিলাম তা হ'ল আপনার ~/.bashrcফাইলের একেবারে শেষের দিকে নিম্নলিখিতটি যুক্ত করা ।

if [[ -n "START_COMMAND" ]]; then
  start_command="$START_COMMAND"
  unset START_COMMAND
  eval "$start_command"
fi

তারপরে আপনি যখন প্রথমে একটি কমান্ড সহ শেলটি চালু করতে চান, কেবল করুন:

START_COMMAND='some_program with its arguments' bash

ব্যাখ্যা:

এর বেশিরভাগটি সুস্পষ্ট হওয়া উচিত, তবে পরিবর্তনশীল নাম পরিবর্তনের স্টাফগুলির জন্য অনুরণনটি যাতে আমরা ভেরিয়েবলকে স্থানীয়করণ করতে পারি। যেহেতু $START_COMMANDরফতানি পরিবর্তনশীল, তাই এটি শেলের যে কোনও শিশু দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হবে এবং যদি অন্য কোনও বাশ শেল সেই শিশুদের মধ্যে একটি হয় তবে এটি কমান্ডটি আবার চালাবে। সুতরাং আমরা একটি নতুন অপরিবর্তিত ভেরিয়েবল ( $start_command) এর মান নির্ধারণ করি এবং পুরানোটি মুছি ।


যদি একের বেশি কিছু থাকে তবে ফুঁসে উঠব? এক আদেশ? না, এখনও কাজ করা উচিত। আপনি যদিও বহনযোগ্যতা সম্পর্কে সঠিক। সেখানে 2 টি কারণ রয়েছে, <<<পসিক্স নয়, তবে আপনি এর echo "string here" | bash -iপরিবর্তে পারেন। তারপরে /dev/ttyএকটি লিনাক্স জিনিস রয়েছে। তবে আপনি ব্যাশ চালু করার আগে এফডি ডুপ করতে পারেন এবং তারপরে এসটিডিএন পুনরায় খুলতে পারেন যা আপনি যা করছেন তার মতো দেখায় তবে আমি জিনিসগুলি সহজ রাখার পছন্দ করেছিলাম।
প্যাট্রিক

ঠিক আছে, কেবল লড়াই করবেন না his এটি কেবল আমার জন্য কাজ করে এবং আমার প্রয়োজনীয় সমস্ত কাজ করে। আমি পসিক্স এবং বহনযোগ্যতার বিষয়ে খুব বেশি যত্ন করি না, আমার এটি আমার বাক্সে এবং কেবল সেখানে প্রয়োজন। আমি মাইকজার্জারের উত্তরটিও পরীক্ষা করব তবে এখন এটি করতে পারছি না।
pawel7318

1
লড়াই হচ্ছে না :-)। আমি মাইকজারের উত্তরটিকে সম্মান করি। তিনি সামঞ্জস্যের জন্য গিয়েছিলেন, আমি সরলতার জন্য গিয়েছিলাম। উভয়ই সম্পূর্ণ বৈধ। এটি অতিরিক্ত জটিল না হলে কখনও কখনও আমি সামঞ্জস্যের জন্য যাব। এই ক্ষেত্রে আমি এটির পক্ষে উপযুক্ত বলে মনে করি নি।
প্যাট্রিক

2
@ পেট্রিক, /dev/ttyলিনাক্স জিনিস নয় তবে অবশ্যই পসিক্স ।
jlliagre


8

এই কৌতুক করতে হবে:

bash -c "some_program with its arguments;bash"

সম্পাদনা:

আপনার আপডেট অনুসরণ করে এখানে একটি নতুন প্রচেষ্টা:

bash -c "
trap 'select wtd in bash restart exit; do [ \$wtd = restart ] && break || \$wtd ; done' 2
while true; do
    some_program with its arguments
done
"
  • আমাকে সময়ে সময়ে কিছু_পোগ্রাম বন্ধ করতে হবে

ব্যবহার করুন ControlC, আপনি এই ছোট মেনু উপস্থাপন করা হবে:

1) bash
2) restart
3) exit
  • আমি এটিকে ব্যাকগ্রাউন্ডে রাখতে চাই না

যে ক্ষেত্রে.

  • আমি তখন আরও কিছু করার জন্য বাশে থাকতে চাই

"বাশ" পছন্দটি নির্বাচন করুন

  • আমি আবার প্রোগ্রাম চালাতে সক্ষম হতে চাই

"পুনঃসূচনা" পছন্দটি নির্বাচন করুন


খারাপ না খারাপ না .. তবে শেষ কমান্ডে ফিরে যেতে সক্ষম হওয়াই ভাল। এর জন্য কোন ধারণা? আমার কী প্রয়োজন তা দেখার জন্য দয়া করে আমার অন্য প্রশ্নটি এখানে দেখুন। সুতরাং সম্ভবত আপনি অন্য পদ্ধতির পরামর্শ
দিবেন

এটি একটি সাবশেল চালায়। আমি মনে করি প্রশ্নকারী স্ক্রিপ্টের পরিবেশ সংরক্ষণের চেষ্টা করছেন।
মাইকজারভ

আপনাকে ধন্যবাদ জেলিয়াগ্রে - দুর্দান্ত চেষ্টা কিন্তু আমার পক্ষে খুব বেশি কাজে লাগেনি। আমি সাধারণত সিটিআরএল + সি টিপুন এবং আমি আশা করি এটি এটি করার জন্য কেবল এটি করবে। অতিরিক্ত মেনু মাত্র অনেক।
pawel7318

@ pawel7318 এর আচরণটি CTRL+Cআপনার টার্মিনালের ডিফল্ট কনফিগারেশনের এ হিসাবে ব্যাখ্যা করার জন্য কেবলমাত্র একটি পার্শ্ব প্রতিক্রিয়া SIGINT। আপনি যেভাবে এটি পরিবর্তন করতে পারেন stty
মাইক্রজারভ

@ pawel7318 আরও নির্মল, SIGINTহয় trappedসাথে উপরে 2
মাইকজার্ভ

3

আপনি আপনার স্ক্রিপ্টটি একটি আরম্ভের ফাইল হিসাবে পাস করে এটি করতে পারেন:

bash --init-file foo.script

অথবা আপনি এটি কমান্ড লাইনে পাস করতে পারেন:

bash --init-file <(echo "ls -al")

নোটটি --init-fileসিস্টেমের প্রশস্ত সূচনা ফাইলগুলি পড়ার জন্য বোঝানো হয়েছিল /etc/bash.bashrcযাতে আপনি sourceএগুলি আপনার স্ক্রিপ্টে ' ' করতে চাইতে পারেন ।


0

আমি সত্যিই এটি করার বিন্দুটি দেখতে পাচ্ছি না, যেহেতু আপনি ইতিমধ্যে এই প্রোগ্রামটি চালানোর পরে একটি শেলের কাছে ফিরে যান। তবে আপনি এটি করতে পারেন:

bash -c "some_program with its arguments; bash"

প্রোগ্রামটি চলার পরে এটি একটি ইন্টারেক্টিভ বাশ চালু করবে।


এটি একটি সাবশেল চালু করে।
মাইকজার্ভ

0

আপনার বর্তমান ব্যাশটি উন্মুক্ত রাখতে আপনি কমান্ডটি পটভূমিতে রাখতে পারেন:

some_program with its arguments &

দৌড়ে ফিরে আসতে আপনি fgকমান্ডটি ব্যবহার করতে পারেন এবং ^+zএটিকে আবার পটভূমিতে রাখতে পারেন


এখন না. আপনি ধরে নিন আমি এই ব্যাশ চালাতে চাই ... বাশ থেকে যা ঘটনাটি নয়।
pawel7318

@ pawel7318 আপনি যদি আরও কিছু ব্যাখ্যা করেন তবে আমরা আপনাকে আরও ভাল উত্তর দিতে পারি?
কিউই

এখানে আমার অন্য প্রশ্ন চেক করুন
pawel7318

@ pawel7318 যদি আপনার প্রশ্ন সম্পর্কিত হয় তবে আপনার নিজের প্রশ্নে অন্য প্রশ্নের লিঙ্কটি যুক্ত করুন।
কিউই

1
@ পাওয়েল 18৩১৮ bashবা না, আপনি যদি আমার কাছে খুব এলিয়েন শেল ব্যবহার করেন তবে যদি এটি প্রক্রিয়া ব্যাকগ্রাউন্ডিং পরিচালনা করতে না পারে। এবং আমি কিউইয়ের সাথে একমত - এই তথ্যটি যদি আপনার প্রশ্নে থাকে তবে আপনাকে আরও ভাল সেবা করবে।
মাইক্রজারভ

0

কমান্ডটি চালাতে আপনি পর্দা ব্যবহার করতে চাইতে পারেন। কমান্ডটি সমাপ্ত হওয়ার পরে আপনি সেশনে পুনরায় সংযুক্ত করতে পারেন।

বিকল্পভাবে, কেবল পটভূমিতে কমান্ডটি চালান some_program with its arguments&। এটি আপনাকে কমান্ডটি পুনরায় চালিত করার এবং কমন্ডের কাজটি শেষ হয়ে গেলে তার স্থিতি পাওয়ার সুযোগ ছেড়ে দেবে।


আমি এটিকে ঠিক থেকে চালাচ্ছি screenতবে এটি ব্যাকগ্রাউন্ডে রেখে দেওয়া আমার পক্ষে কার্যকর নয় - আমার মাঝে মাঝে প্রোগ্রামটি শেষ করতে, অন্য কিছু করতে এবং এটি আবার চালানো দরকার। এবং মূল লক্ষ্যটি এই দ্রুত করা।
pawel7318

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