আমি যখন make
শেল থেকে একটি কমান্ড চালিত করি ( বড় প্রকল্পে) তখন আমি প্রক্রিয়া বন্ধ করতে এবং শেলটিতে ফিরে আসতে Ctrl-Z লিখতে পারি। পরবর্তীকালে, আমি fg
প্রক্রিয়া চালিয়ে যেতে চালাতে পারি ।
আমি এটি স্বয়ংক্রিয় করার জন্য একটি শেল স্ক্রিপ্ট লেখার চেষ্টা করছি (বিশেষত, আমার সিপিইউ তাপমাত্রা প্রতি কয়েক সেকেন্ড পরে পরীক্ষা করতে এবং এটি খুব গরম হয়ে যায় যদি প্রক্রিয়াটি বন্ধ করে দেয়, যেহেতু আমার কম্পিউটারটি অত্যধিক গরমের প্রবণতাযুক্ত)। আমার প্রথম প্রয়াস এইভাবে কাজ করেছে (সরলীকৃত):
make &
subpid="$!"
sleep 2
# If the CPU temperature is too high...
kill -STOP "$subpid"
sleep 2
# If the CPU temperature has dropped to safe levels...
kill -CONT "$subpid"
wait "$subpid"
দুর্ভাগ্যক্রমে, এটি কার্যকর হয়নি; প্রক্রিয়াতে SIGSTOP প্রেরণ এটি বিরাম দেয় নি (যেমন টার্মিনালে আউটপুট প্রেরণ চালিয়ে প্রমাণিত হয়েছে)। আমি make &
কমান্ড লাইনে দৌড়ে এসে সিগস্টপ প্রেরণ করেছি এবং এর সাথে প্রক্রিয়া স্থিতি পরীক্ষা করেছি ps
; এটি থামানো হিসাবে তালিকাভুক্ত করা হয়েছিল (এবং আমি আবার সিগনকন্ট পাঠালে আবার শুরু হয়েছিল) তবে এটি এখনও আউটপুট বানিয়ে আমার মূল তাপমাত্রা চালিয়ে যাচ্ছে! এটি সিটিআরএল-জেড দিয়ে থামানোর ক্ষেত্রে কখনও সমস্যা হয়নি, তবে স্ক্রিপ্টে কীভাবে এটি করবেন তা আমি জানি না।
কী Ctrl-Z আলাদা করে kill -STOP
এবং শেল স্ক্রিপ্টে আমি কীভাবে আগেরটির আচরণ পেতে পারি?
make
পুনরাবৃত্তভাবে চালানো হচ্ছে। আসলে, আমি মনে করি এটি কয়েক স্তরের গভীরে যায়।