خانه > نرم‌افزار آزاد, خط فرمان > خط فرمان – nohup

خط فرمان – nohup


terminal

گاهی اوقات پیش میاد که می‌خواهید در خط فرمان یک دستور زمان‌بری  (مثلا ۴، ۵ ساعت) رو اجرا کنید. اگر به صورت عادی دستور را اجرا کنید وقتی که شل را ببندید سیگنالی به نام SIGHUP  به پروسه مربوطه فرستاده می‌شود که وقتی هر پروسه‌ای این سیگنال را دریافت کند، آن پروسه Stop می‌شود.

برای این‌که این اتفاق نیافتد چندین راه وجود دارد، که به نظر من بهترین راه، نخستین است:

۱- استفاده از دستور nohup: این دستور سیگنال HUP را نادیده می‌گیرد، بنابراین با بسته شدن شل، همچنان دستور (Job) شما اجرا می‌شود. این دستور در بسته GNU core utils وجود داره.

$ nohup your_command

۲- استفاده ازat: این دستور کار اصلیش زمان‌بندی Jobهای مختلفه. وقتی با این دستور Job مورد نظر خود را اجرا کنید به دلیل این‌که در محیط at دستور شما قرار می‌گیرد، دیگر با بستن شل اتفاقی نمی‌افتد.

$ echo command|at now

۳- استفاده از دستور start-stop-daemon: این دستور در توزیع‌های برپایه دبیان وجود داره و کارش اینه که یک Job رو تبدیل به daemon می‌کنه. من با این دستور کار نکردم، کسی اگه کار کرده در دیدگاه‌ها بگه.

Advertisements
  1. هنوز دیدگاهی داده نشده است.
  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: