انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: آیا دستوری در ترمینال هست که مثلا بگه بعد از ۳۰ ثانیه از ترمینال بیرون برو.حل شد  (دفعات بازدید: 649 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین linux kar

  • Jr. Member
  • *
  • ارسال: 64
  • جنسیت : پسر
سلام دوستان می خواستم بدونم آیا دستوری در ترمینال هست که مثلا بگه بعد از ۳۰ ثانیه از ترمینال بیرون برو.
این دستور رو برای شل اسکریپت می خوام. ممنون میشم اگه بگید.
« آخرین ویرایش: 16 تیر 1400، 10:31 ب‌ظ توسط Radin mirmohamadi »
i love linux

آفلاین sd70

  • Jr. Member
  • *
  • ارسال: 96
  • جنسیت : پسر
سلام. با دستور sleep میشه این کار رو انجام داد مثلا برای موردی که گفتین میشه کد رو به این صورت نوشت:
sleep 30s && exit
توضیحات بیشتر:
https://www.man7.org/linux/man-pages/man1/sleep.1.html
« آخرین ویرایش: 14 تیر 1400، 11:06 ق‌ظ توسط sd70 »

آفلاین linux kar

  • Jr. Member
  • *
  • ارسال: 64
  • جنسیت : پسر
سلام. با دستور sleep میشه این کار رو انجام داد مثلا برای موردی که گفتین میشه کد رو به این صورت نوشت:
sleep 30s && exit
توضیحات بیشتر:
https://www.man7.org/linux/man-pages/man1/sleep.1.html
از کمکتون ممنونم ولی از ترمینال خارج نشد فقط ۳۰ ثانیه داشت چشمک میزد و بعد برام bash رو باز کرد.
i love linux

آفلاین sd70

  • Jr. Member
  • *
  • ارسال: 96
  • جنسیت : پسر
خواهش میکنم. بله درسته این دستور در صورتی کار میکنه که مستقیما در خود ترمینال اونو وارد کنید. چنان چه توی یک اسکریپت این کار انجام میشه میتونید با استفاده از متغیر $PPID،‌ آیدی ترمینالی که این اسکریپت در اون اجرا شده رو پیدا کنید و بعد اونو kill کنید. با استفاده از $$ هم process id خود shell رو میتونید پیدا کنید.

آفلاین linux kar

  • Jr. Member
  • *
  • ارسال: 64
  • جنسیت : پسر
خواهش میکنم. بله درسته این دستور در صورتی کار میکنه که مستقیما در خود ترمینال اونو وارد کنید. چنان چه توی یک اسکریپت این کار انجام میشه میتونید با استفاده از متغیر $PPID،‌ آیدی ترمینالی که این اسکریپت در اون اجرا شده رو پیدا کنید و بعد اونو kill کنید. با استفاده از $$ هم process id خود shell رو میتونید پیدا کنید.
میشه دقیقتر توضیح بدین
i love linux

آفلاین sd70

  • Jr. Member
  • *
  • ارسال: 96
  • جنسیت : پسر
در مثال زیر، اجرای اسکریپت به مدت 5 ثانیه متوقف میشه و بعد از اون در هنگام خروج، parent خودش (یعنی هموت ترمینال) رو هم می بنده
#! /bin/bash

echo terminal will be closed after 5 secods
sleep 5s
kill -s 9 $PPID

آفلاین linux kar

  • Jr. Member
  • *
  • ارسال: 64
  • جنسیت : پسر
در مثال زیر، اجرای اسکریپت به مدت 5 ثانیه متوقف میشه و بعد از اون در هنگام خروج، parent خودش (یعنی هموت ترمینال) رو هم می بنده
#! /bin/bash

echo terminal will be closed after 5 secods
sleep 5s
kill -s 9 $PPID
از کمکتون ممنونم
i love linux

آفلاین baharimanesh

  • Newbie
  • *
  • ارسال: 6
  • جنسیت : پسر
میتونی از دستور timeout  استفاده کنی.
timeout 30