.TH swait "1" "Slurm Commands" "Slurm 26.05" "Slurm Commands" .SH "نام (NAME)" swait \- توقف تا تکمیل گام‌های در حال اجرا و گام‌های معلق \-\-async یک کار .SH "خلاصه دستور (SYNOPSIS)" \fBswait\fR [\fIOPTIONS\fR] [\fIjobid\fR[_\fItask\fR] | \fBs\fR<\fIsluid\fR>] .SH "توضیحات (DESCRIPTION)" دستور \fBswait\fR تا زمانی که هیچ گام در حال اجرا و هیچ گام معلق \fB\-\-async\fR وجود نداشته باشد، اجرای فرآیند را متوقف و مسدود می‌کند. از \fBswait\fR در یک اسکریپت دسته‌ای (batch script) استفاده کنید تا منتظر تکمیل تمام گام‌های \fB\-\-async\fR بمانید. دستور \fBswait\fR مستقیماً با stepmgr ارتباط برقرار می‌کند؛ این دستور از \fBslurmctld\fR نظرسنجی (poll) نمی‌کند. در کارِ هدف باید stepmgr فعال شده باشد (بخش \fBنیازمندی‌ها (REQUIREMENTS)\fR را ببینید). آرگومان مکانی می‌تواند یک شناسه کار عددی، یک تسکِ تکی از آرایه (مانند \fI1000_3\fR)، یا یک SLUID (مانند \fIs4SNKN57XZTE00\fR) باشد. بازه‌های تسک، فهرست‌های تسک و آفست‌های مؤلفهٔ het\-job (\fIjobid\fR+\fIoffset\fR) پشتیبانی نمی‌شوند. هنگامی که هدف یک کار آرایه‌ای با بیش از یک تسک باشد، باید یک تسک مشخص با \fIjobid\fR_\fItask\fR انتخاب شود. بدون آرگومان مکانی، \fBswait\fR ابتدا متغیر \fBSLURM_JOB_SLUID\fR را بررسی می‌کند و در صورت عدم وجود، به سراغ \fBSLURM_JOB_ID\fR می‌رود. این ویژگی به \fBswait\fR امکان می‌دهد درون یک اسکریپت دسته‌ای یا تخصیص تعاملی بدون آرگومان اجرا شود و به‌طور خودکار منتظر گام‌های کار دربرگیرنده بماند. .SH "گزینه‌ها (OPTIONS)" .TP \fB\-h\fR, \fB\-\-help\fR نمایش اطلاعات راهنما و خروج. .IP .TP \fB\-Q\fR, \fB\-\-quiet\fR جلوگیری از نمایش پیام‌های اطلاعاتی در stderr. خطاها همچنان نمایش داده خواهند شد. با \fB\-\-verbose\fR مانعة‌الجمع است. .IP .TP \fB\-\-timeout\fR=\fISECS\fR حداکثر به مدت \fISECS\fR ثانیه برای اتمام و تخلیهٔ گام‌های کار منتظر می‌ماند، سپس با وضعیت ۱ خارج می‌شود. \fISECS\fR باید یک عدد صحیح غیرمنفی باشد. بدون \fB\-\-timeout\fR یا با \fB\-\-timeout\fR=0، دستور \fBswait\fR تا زمان اتمام گام‌ها به‌طور نامحدود مسدود می‌ماند. .IP .TP \fB\-\-usage\fR نمایش یک پیام کوتاه دربارهٔ نحوهٔ استفاده و خروج. .IP .TP \fB\-v\fR, \fB\-\-verbose\fR افزایش پرگویی و توضیحات؛ می‌تواند برای جزئیات بیشتر چندین بار مشخص شود. با \fB\-\-quiet\fR مانعة‌الجمع است. .IP .TP \fB\-V\fR, \fB\-\-version\fR نمایش اطلاعات نگارش و خروج. .IP .SH "نیازمندی‌ها (REQUIREMENTS)" کارِ هدف باید stepmgr را فعال داشته باشد؛ خواه در سطح کل سامانه از طریق \fBSlurmctldParameters=enable_stepmgr\fR در \fBslurm.conf\fR(5)، یا به ازای هر کار از طریق ارسال گزینهٔ \fB\-\-stepmgr\fR به \fBsalloc\fR(1)/\fBsbatch\fR(1). این موضوع را می‌توان با دستور \fBscontrol show job \fR تأیید کرد؛ به دنبال عبارت \fBStepMgrEnabled=Yes\fR بگردید. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .PP برخی از گزینه‌های \fBswait\fR ممکن است از طریق متغیرهای محیطی تنظیم شوند. این متغیرهای محیطی به همراه گزینه‌های متناظرشان در زیر فهرست شده‌اند. (نکته: گزینه‌های خط فرمان همواره بر این تنظیمات تقدم دارند.) .TP \fBSLURM_JOB_SLUID\fR برای شناسایی کارِ تحت پایش در زمانی که هیچ آرگومان مکانی داده نشده است، استفاده می‌شود. بر \fBSLURM_JOB_ID\fR اولویت دارد. .IP .TP \fBSLURM_JOB_ID\fR برای شناسایی کارِ تحت پایش در زمانی که هیچ آرگومان مکانی داده نشده و \fBSLURM_JOB_SLUID\fR تنظیم نشده باشد، استفاده می‌شود. .IP .TP \fBSLURM_CONF\fR محل قرارگیری فایل پیکربندی Slurm. .IP .SH "وضعیت خروج (EXIT STATUS)" .TP \fB0\fR .RS هیچ گام در حال اجرا و هیچ گام ناهمگام (\-\-async) در انتظاری وجود ندارد. .RE .IP .TP \fB1\fR .RS مهلت زمانیِ \fB\-\-timeout\fR پیش از اتمام گام‌ها به پایان رسید. .RE .IP .TP \fB2\fR .RS دستور \fBswait\fR با یک خطا مواجه شد. .RE .IP .SH "مثال‌ها (EXAMPLES)" اجرای چندین گام async از درون یک اسکریپت دسته‌ای (batch script) و مسدود ماندن تا اتمام آن‌ها. در صورتی که stepmgr در کل سامانه فعال باشد، می‌توان از پرچم \fB\-\-stepmgr\fR صرف‌نظر کرد. .nf #!/bin/bash #SBATCH \-n 16 #SBATCH \-\-stepmgr srun \-\-async \-n 8 ./solve_a srun \-\-async \-n 8 ./solve_b swait .fi دستور \fBswait\fR تنها برای گام‌های \fB\-\-async\fR است؛ اگر یک اسکریپت صرفاً دستورهای \fBsrun\fR را از طریق پوسته به پس‌زمینه بفرستد، دستور درونی (builtin) \fIwait\fR در پوسته از پیش این حالت را پوشش می‌دهد و نیازی به \fBswait\fR نیست. استثنا زمانی است که یک اسکریپت هر دو را با هم ترکیب کند: ابتدا \fBswait\fR و سپس \fIwait\fR را اجرا کنید تا هم کارهای در انتظارِ stepmgr و هم فرآیندهای پس‌زمینهٔ پوسته به پایان برسند: .nf #!/bin/bash #SBATCH \-n 16 #SBATCH \-\-stepmgr srun \-n 8 ./solve_a & srun \-\-async \-n 8 ./solve_b swait wait .fi .SH "کپی‌رایت و تکثیر (COPYING)" کپی‌رایت (c) 2026 NVIDIA CORPORATION & AFFILIATES. تمامی حقوق محفوظ است. .LP این فایل بخشی از Slurm است؛ یک برنامهٔ مدیریت منابع. برای جزئیات بیشتر، را ببینید. .LP اسلرم (Slurm) یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط پروانه عمومی همگانی گنو (GNU General Public License) طبق آنچه توسط بنیاد نرم‌افزارهای آزاد منتشر شده، چه نگارش ۲ پروانه و چه (به انتخاب خودتان) هر نگارش بالاتری، بازتوزیع کرده یا اصلاح نمایید. .LP اسلرم با این امید که سودمند باشد توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف مشخص. برای جزئیات بیشتر به پروانه عمومی همگانی گنو مراجعه کنید. .SH "همچنین ببینید (SEE ALSO)" \fBsacct\fR(1), \fBsalloc\fR(1), \fBsbatch\fR(1), \fBscancel\fR(1), \fBscontrol\fR(1), \fBsqueue\fR(1), \fBsrun\fR(1), \fBslurm.conf\fR(5)