Gap messenger
Download

وقتی من رفتم تو بمون !

تصور کنید توی ترمینال یه برنامه ای باز کردید داره برای خودش یه سری کارارو میکنه الان وقتی ترمینال رو ببندید اون برنامه هم بسته میشه :/ به نظرتون چطور میتونیم کاری کنیم که این اتفاق نیفته ؟

برای این کار به ترتیب دستورات زیر رو بزنید :

Ctrl + Z
پروسس فعلی در حال اجرارو استاپ میکنه (اگه بعدش دستور jobs رو بزنید میبیندش)
bg
اخرین پروسس استاپ شده رو توی بکگراند resume میکنه (در واقع اخر دستور یه & اضافه میکنه)
disown
به اخرین پروسس اجازه میده که فراتر از شل زنده بمونه یعنی وقتی سیگنالی به شل ارسال میشه اون رو به برنامه منتقل نمیکنه (از جدول jobs هم حذفش میکنه)

پ.ن 1 : اگه سوییچ -h رو برای disown استفاده کنید از جدول jobs حذف نمیشه ولی پروسس رو علامت میزنه هر وقت به شل سیگنال SIGHUP ارسال شه اون رو به پروسس هدایت نمیکنه .

پ.ن 2 : تمام دستورات jobs , bg , disown ,... دستورات built-in شل هستند و من پیج ندارند ولی بجاش میتونید از help قبل دستور استفاده کنید.

پ.ن 3 : اگه توی سرور این کارو میکنید حواستون باشه برای برنامه های کوتاه مدت این کارو کنید چون اگه سرور ریبوت بشه برنامه مجدد اجرا نمیشه فقط این تضمین به شما داده میشه که وقتی از شل log out شدید برنامه بسته نشه پس بهتره از nohup و امثالش برای برنامه های داعم الجرا استفاده کنید.

------------------------------
☁ @pyabr
💻 @linuxinator

14 July 2022 | 12:16