| swait(1) | Slurm Commands | swait(1) |
نام (NAME)
swait - توقف تا تکمیل گامهای در حال اجرا و گامهای معلق --async یک کار
خلاصه دستور (SYNOPSIS)
swait [OPTIONS] [jobid[_task] | s<sluid>]
توضیحات (DESCRIPTION)
دستور swait تا زمانی که هیچ گام در حال اجرا و هیچ گام معلق --async وجود نداشته باشد، اجرای فرآیند را متوقف و مسدود میکند. از swait در یک اسکریپت دستهای (batch script) استفاده کنید تا منتظر تکمیل تمام گامهای --async بمانید.
دستور swait مستقیماً با stepmgr ارتباط برقرار میکند؛ این دستور از slurmctld نظرسنجی (poll) نمیکند. در کارِ هدف باید stepmgr فعال شده باشد (بخش نیازمندیها (REQUIREMENTS) را ببینید).
آرگومان مکانی میتواند یک شناسه کار عددی، یک تسکِ تکی از آرایه (مانند 1000_3)، یا یک SLUID (مانند s4SNKN57XZTE00) باشد. بازههای تسک، فهرستهای تسک و آفستهای مؤلفهٔ het-job (jobid+offset) پشتیبانی نمیشوند. هنگامی که هدف یک کار آرایهای با بیش از یک تسک باشد، باید یک تسک مشخص با jobid_task انتخاب شود.
بدون آرگومان مکانی، swait ابتدا متغیر SLURM_JOB_SLUID را بررسی میکند و در صورت عدم وجود، به سراغ SLURM_JOB_ID میرود. این ویژگی به swait امکان میدهد درون یک اسکریپت دستهای یا تخصیص تعاملی بدون آرگومان اجرا شود و بهطور خودکار منتظر گامهای کار دربرگیرنده بماند.
گزینهها (OPTIONS)
- -h, --help
- نمایش اطلاعات راهنما و خروج.
- -Q, --quiet
- جلوگیری از نمایش پیامهای اطلاعاتی در stderr. خطاها همچنان نمایش داده خواهند شد. با --verbose مانعةالجمع است.
- --timeout=SECS
- حداکثر به مدت SECS ثانیه برای اتمام و تخلیهٔ گامهای کار منتظر میماند، سپس با وضعیت ۱ خارج میشود. SECS باید یک عدد صحیح غیرمنفی باشد. بدون --timeout یا با --timeout=0، دستور swait تا زمان اتمام گامها بهطور نامحدود مسدود میماند.
- --usage
- نمایش یک پیام کوتاه دربارهٔ نحوهٔ استفاده و خروج.
- -v, --verbose
- افزایش پرگویی و توضیحات؛ میتواند برای جزئیات بیشتر چندین بار مشخص شود. با --quiet مانعةالجمع است.
- -V, --version
- نمایش اطلاعات نگارش و خروج.
نیازمندیها (REQUIREMENTS)
کارِ هدف باید stepmgr را فعال داشته باشد؛ خواه در سطح کل سامانه از طریق SlurmctldParameters=enable_stepmgr در slurm.conf(5)، یا به ازای هر کار از طریق ارسال گزینهٔ --stepmgr به salloc(1)/sbatch(1). این موضوع را میتوان با دستور scontrol show job <jobid> تأیید کرد؛ به دنبال عبارت StepMgrEnabled=Yes بگردید.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
برخی از گزینههای swait ممکن است از طریق متغیرهای محیطی تنظیم شوند. این متغیرهای محیطی به همراه گزینههای متناظرشان در زیر فهرست شدهاند. (نکته: گزینههای خط فرمان همواره بر این تنظیمات تقدم دارند.)
- SLURM_JOB_SLUID
- برای شناسایی کارِ تحت پایش در زمانی که هیچ آرگومان مکانی داده نشده است، استفاده میشود. بر SLURM_JOB_ID اولویت دارد.
- SLURM_JOB_ID
- برای شناسایی کارِ تحت پایش در زمانی که هیچ آرگومان مکانی داده نشده و SLURM_JOB_SLUID تنظیم نشده باشد، استفاده میشود.
- SLURM_CONF
- محل قرارگیری فایل پیکربندی Slurm.
وضعیت خروج (EXIT STATUS)
- 0
- 1
- 2
مثالها (EXAMPLES)
اجرای چندین گام async از درون یک اسکریپت دستهای (batch script) و مسدود ماندن تا اتمام آنها. در صورتی که stepmgr در کل سامانه فعال باشد، میتوان از پرچم --stepmgr صرفنظر کرد.
#!/bin/bash #SBATCH -n 16 #SBATCH --stepmgr srun --async -n 8 ./solve_a srun --async -n 8 ./solve_b swait
دستور swait تنها برای گامهای --async است؛ اگر یک اسکریپت صرفاً دستورهای srun را از طریق پوسته به پسزمینه بفرستد، دستور درونی (builtin) wait در پوسته از پیش این حالت را پوشش میدهد و نیازی به swait نیست. استثنا زمانی است که یک اسکریپت هر دو را با هم ترکیب کند: ابتدا swait و سپس wait را اجرا کنید تا هم کارهای در انتظارِ stepmgr و هم فرآیندهای پسزمینهٔ پوسته به پایان برسند:
#!/bin/bash #SBATCH -n 16 #SBATCH --stepmgr srun -n 8 ./solve_a & srun --async -n 8 ./solve_b swait wait
کپیرایت و تکثیر (COPYING)
کپیرایت (c) 2026 NVIDIA CORPORATION & AFFILIATES. تمامی حقوق محفوظ است.
این فایل بخشی از Slurm است؛ یک برنامهٔ مدیریت منابع. برای جزئیات بیشتر، https://slurm.schedmd.com را ببینید.
اسلرم (Slurm) یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط پروانه عمومی همگانی گنو (GNU General Public License) طبق آنچه توسط بنیاد نرمافزارهای آزاد منتشر شده، چه نگارش ۲ پروانه و چه (به انتخاب خودتان) هر نگارش بالاتری، بازتوزیع کرده یا اصلاح نمایید.
اسلرم با این امید که سودمند باشد توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف مشخص. برای جزئیات بیشتر به پروانه عمومی همگانی گنو مراجعه کنید.
همچنین ببینید (SEE ALSO)
sacct(1), salloc(1), sbatch(1), scancel(1), scontrol(1), squeue(1), srun(1), slurm.conf(5)
| Slurm Commands | Slurm 26.05 |