সাধারণভাবে বলতে গেলে, যখন কোনও প্রক্রিয়া এতিম হয়ে যায় (অর্থাত্ তার পিতামাতার মৃত্যু হয়) তখন তা দীক্ষা গ্রহণ করে।
আপনি যে বিশেষ পরিস্থিতিটি বর্ণনা করেছেন সম্ভবত এটি একটি ইন্টারেক্টিভ প্রক্রিয়াতে প্রযোজ্য যখন এর নিয়ন্ত্রণকারী টার্মিনালটি বন্ধ হয় ( উইকিপিডিয়া থেকে ):
SIGHUP সিগন্যালটি কোনও প্রক্রিয়াতে প্রেরণ করা হয় যখন এর নিয়ন্ত্রণকারী টার্মিনালটি বন্ধ থাকে। এটি মূলত একটি সিরিয়াল লাইন ড্রপ প্রক্রিয়াটি অবহিত করার জন্য ডিজাইন করা হয়েছিল। আধুনিক সিস্টেমে, এই সংকেতটির অর্থ সাধারণত সিউডো বা ভার্চুয়াল টার্মিনাল নিয়ন্ত্রণ করা বন্ধ হয়ে যায়।
এটি প্রতিরোধ করতে, শিশু প্রক্রিয়াগুলি সিগআপকে অবরুদ্ধ করা উচিত, তাই বেশিরভাগ ক্ষেত্রে আপনার পিতামাতার প্রক্রিয়া থেকে সহযোগিতা প্রয়োজন।
যদি পিতা বা মাতা প্রক্রিয়া একটি শেল (হয় bash
, csh
এবং মত) এবং আপনার কমান্ডগুলি আপনাকে বিনষ্ট যখন ব্যাশ শেষ আপনার সাথে কোনো কমান্ড পূর্বে ভী করতে চালানোর চান nohup
(থেকে info coreutils "nohup invocation"
):
'nohup' প্রদত্ত COMMAND চালিয়ে যায় হ্যাংআপ সংকেতগুলিকে উপেক্ষা করে, যাতে কমান্ডটি লগ আউট করার পরে পটভূমিতে চলতে পারে।
এই উদাহরণে:
$ tty
/dev/ttys000
$ nohup find /dir -name file -exec rm {} \;
find
শেলটি বন্ধ হয়ে গেলে এবং নিয়ন্ত্রণকারী টার্মিনালটি বন্ধ করে দেওয়া হবে না /dev/ttys000
।
একটি শেল স্ক্রিপ্ট SIGHUP ব্লক উচিত ছিল, তাহলে builtin ব্যবহার trap
, যেমন ব্যাখ্যা করেছেন এখানে জন্য bash
।