আমি কীভাবে পৃথক পৃথক পরিবেশ সেটআপ করব যাতে আমি আমার কোড বা প্রোগ্রামগুলি পরীক্ষা করতে পারি যা যে কোনও সময় বার বার কাঁটাচামচ করতে পারে? আমি ম্যাকের জন্য এটি চেষ্টা করছিলাম এবং যদি আমার কিছুক্ষণের মধ্যে একটি কাঁটাচামচ থাকে যা সঠিকভাবে আবদ্ধ না হয় এটি টার্মিনালকে হিমশীতল করে তোলে এবং কাঁটাচালিত সংস্থান অস্থায়ীভাবে অনুপলব্ধ করে। আমি সে ক্ষেত্রে, আমি এমনকি পিএস ব্যবহার করতে পারি না বা হত্যা করতে পারি না এবং প্রতিবার আমার মুখোমুখি হওয়ার সময় বন্ধ করতে হয়।
এছাড়াও, আমি _exit (3) ব্যবহার করে আমার সন্তানের প্রক্রিয়াটি হত্যার চেষ্টা করছি - আমি সম্ভবত এটি ভুল করছি। কেউ কি আমাকে এতে সাহায্য করতে পারেন?
আমি চেষ্টা করছিলাম কোডটি এখানে।
pid = fork();
if(pid > 0){
if(findCharInString(';',input)){
printf("Two commands %s\n",input );
sleep(1);
_exit(3);
}
else{
system(input);
}
}
if(pid == 0){
return 0;
}
ulimit
আপনার শেলটিতে সর্বাধিক সংখ্যক প্রক্রিয়া সীমাবদ্ধ করার জন্য আপনি কমান্ডটি ব্যবহার করতে সক্ষম হতে পারেন , তারপরে আপনার প্রোগ্রামটি (যা ulimit
সেটিংসের উত্তরাধিকারী হবে ) সম্পাদন করুন , যেমন : ulimit -u 20
(আপনার শেল এবং এর বংশধরকে কেবলমাত্র 20 টি প্রসেসে সীমাবদ্ধ করতে)।