| SG_TURS(8) | SG3_UTILS | SG_TURS(8) |
نام (NAME)
sg_turs - ارسال یک یا چند دستور TEST UNIT READY در پروتکل SCSI به دستگاه
خلاصه دستور (SYNOPSIS)
sg_turs [--ascq=ASC[,ASQ]] [--delay=MS] [--help] [--low] [--num=NUM] [--number=NUM] [--progress] [--time] [--timeout=SE] [--verbose] [--version] DEVICE
sg_turs [-d=MS] [-n=NUM] [-p] [-t] [-v] [-V] DEVICE
توضیحات (DESCRIPTION)
این ابزار یک یا چند دستور TEST UNIT READY مربوط به SCSI را به DEVICE ارسال میکند. این کار میتواند برای زمانسنجی بار پردازشی و تاخیر هر دستور مفید باشد. توجه داشته باشید که دستور TEST UNIT READY فاقد هرگونه داده همراه است؛ صرفاً یک دستور ۶ بایتی (که هر بایت آن صفر است) بوده و یک مقدار وضعیت SCSI برمیگرداند.
این ابزار از دو نحو نگارشی خط فرمان پشتیبانی میکند؛ شیوه ارجحتر ابتدا در بخش خلاصه دستور نشان داده شده و در این بخش توضیح داده شده است. بخش گزینههای قدیمی خط فرمان در ادامه، گروه دوم گزینهها را شرح میدهد.
گزینهها (OPTIONS)
آرگومانهای گزینههای بلند برای گزینههای کوتاه نیز اجباری هستند.
- -a, --ascq=ASC[,ASQ]
- دادههای حسگر (sense data) مرتبط با کلید حسگر NOT READY را بررسی میکند. اگر تطابقی با ASC و در صورت مشخص شدن با ASQ وجود داشته باشد، این ابزار وضعیت خروج خود را روی 36 تنظیم میکند. این یک کد وضعیت جایگزین مناسب است، چرا که وضعیت خروج 0 به معنای آماده بودن دستگاه خواهد بود.
دلیل افزودن این گزینه، کارتخوانهای حافظه USB (مانند کارتخوانهای حافظه SD) هستند که در زمان نبود کارت SD در کارتخوان، معمولاً کد حسگر اضافی 0x3a,0x0 را برای «عدم وجود رسانه» تولید میکنند. از آنجا که انواع متفاوتی برای کد حسگر اضافی 0x3a وجود دارد، بهتر است مقدار ASQ داده نشود تا هر کدی تطابق یابد.
- -d, --delay=MS
- این گزینه باعث ایجاد تاخیری به میزان MS میلیثانیه پیش از ارسال هر دستور TEST UNIT READY میشود.
- -h, --help
- چاپ راهنمای نحوه استفاده و سپس خروج.
- -l, --low
- هنگامی که گزینه [--progress] استفاده نمیشود، این ابزار تلاش میکند دستور(های) TEST UNIT READY مربوط به SCSI را با بیشترین سرعت ممکن تکمیل کند. معمولاً برای انجام هر دستور TUR یک تابع کتابخانهای (sg_ll_test_unit_ready) فراخوانی میشود. با استفاده از این گزینه، از رابط سطح پایینتر sg_pt (به فایل sg_pt.h مراجعه کنید) برای صرفهجویی اندک در زمان هر فراخوانی TUR استفاده خواهد شد.
- -n, --num=NUM
- دستور TEST UNIT READY را به تعداد NUM بار اجرا میکند. در صورت عدم تعیین، پیشفرض 1 است. این پسوندهای ضریب مجاز هستند: c C *1؛ w W *2؛ b B *512؛ k K KiB *1,024؛ KB *1,000؛ m M MiB *1,048,576؛ MB *1,000,000؛ g G GiB *1,073,741,824؛ و GB *1,000,000,000 . همچنین پسوندی به صورت "x<n>" عدد ابتدایی را در <n> ضرب میکند. متناوباً میتوان یک عدد هگزادسیمال را با پیشوند '0x' یا پسوند 'h' وارد کرد.
- --number=NUM
- مشابه --num=NUM است. جهت سازگاری با sg_requests و سایر ابزارهای این بسته اضافه شده است. ابزار sg_request نقش پایش درصد پیشرفت را که در ابتدا به دستور TEST UNIT READY اختصاص داده شده بود بر عهده گرفته است. این یک تغییر از سوی T10 است.
- -O, --old
- تغییر حالت به گزینههای سبک قدیمی. لطفاً به عنوان اولین گزینه استفاده شود.
- -p, --progress
- نمایش نشانگر پیشرفت (به درصد) در صورت موجود بودن. اگر --num=NUM مشخص شده و NUM بزرگتر از 1 باشد و یک نشانگر پیشرفت اولیه شناسایی گردد، این ابزار ۳۰ ثانیه پیش از بررسیهای بعدی منتظر میماند. اگر گزینه --delay=MS مشخص شده باشد، بهجای ۳۰ ثانیه به همان تعداد میلیثانیه صبر خواهد کرد. با رسیدن به تعداد NUM یا اتمام نشانگرهای پیشرفت خارج میشود. گزینه --time را نادیده میگیرد. به بخش نکات در زیر مراجعه کنید.
- -t, --time
- پس از تکمیل تعداد درخواستشده از دستورات TEST UNIT READY، مدت زمان کل و میانگین تعداد دستورات اجراشده در هر ثانیه را در خروجی چاپ میکند.
- -T, --timeout=SE
- که در آن SE مهلت زمانی اجرای هر دستور TEST UNIT READY است. واحد SE برحسب ثانیه است و اگر 0 داده شود، به 60 ثانیه که مقدار پیشفرض است نگاشت میشود. شکل جایگزین گزینه بلند آن --tmo=SE است.
- -v, --verbose
- افزایش سطح جزئیات خروجی.
- -V, --version
- چاپ رشته نسخه برنامه و سپس خروج.
نکات (NOTES)
نشانگر پیشرفت به صورت اختیاری بخشی از دادههای حسگر است. هنگامی که دستور قبلی با زمان اجرای طولانی (که معمولاً مانع سایر دستورات دسترسی به رسانه میشود) همچنان در حال اجراست، میتوان از نشانگر پیشرفت برای تخمین زمان بازگشت دستگاه به حالت عادی استفاده کرد. در حوالی استاندارد SPC-3، گروه T10 دستور برگزیده برای پایش نشانگر پیشرفت را از TEST UNIT READY به REQUEST SENSE تغییر داد (به ابزار sg_requests مراجعه کنید).
دستور FORMAT مربوط به SCSI برای دیسکها با فعال بودن بیت IMMED نمونهای از عملیاتی است که زمان زیادی میبرد و در طول آن مانع دسترسی سایر درخواستها به رسانه میشود. فعال بودن بیت IMMED به دستور FORMAT میگوید که به محض آغاز قالببندی، کنترل را به کلاینت برنامه برگرداند (به SBC-3 مراجعه کنید). چندین دستور طولانیمدت SCSI مرتبط با درایوهای نوار مغناطیسی نیز از نشانگر پیشرفت استفاده میکنند (به SSC-3 مراجعه کنید).
پارامتر DEVICE با فلگ فقطخواندنی باز میشود (مثلاً در یونیکس با فلگ O_RDONLY).
استانداردهای اولیه پیشنهاد میکردند که از دستور SCSI TEST UNIT READY برای پایش نشانگر پیشرفت استفاده شود. استانداردهای جدیدتر استفاده از دستور SCSI REQUEST SENSE را به جای آن توصیه میکنند.
وضعیت خروج (EXIT STATUS)
وضعیت خروج sg_turs در صورت موفقیت 0 است (مثلاً در مورد یک دیسک مکانیکی، دیسک چرخیده و آماده پذیرش دستورات ورودی/خروجی است). برای این ابزار، سایر مقادیر وضعیت خروج مورد توجه عبارتند از: 2، 12، 13 و 36. مقدار 12 برای زمانی است که کلید حسگر "not ready" [0x2] بوده و کد حسگر اضافی با "Target port in standby state" [0x4, 0xb] پایان یابد. مقدار 13 برای وضعیتی است که کلید حسگر "not ready" [0x2] بوده و کد حسگر اضافی "Target port in unavailable state" [0x4, 0xc] باشد. وضعیت خروج 36 با گزینه --ascq=ASC[,ASQ] مرتبط است. تمام حالتهای دیگر که کلید حسگر "not ready" [0x2] باشد وضعیت خروج را روی 2 قرار میدهند. برای سایر مقادیر وضعیت خروج به صفحه راهنمای sg3_utils(8) مراجعه فرمایید.
گزینههای قدیمی خط فرمان (OLDER COMMAND LINE OPTIONS)
گزینههای موجود در این بخش تنها گزینههای در دسترس پیش از نسخه 1.23 بسته sg3_utils بودند. از آن زمان، این ابزار بهطور پیشفرض از گزینههای جدیدتر خط فرمان استفاده میکند که میتوان با آوردن --old (یا -O) به عنوان نخستین گزینه، رفتار قبلی را فعال نمود. به بخش متغیرهای محیطی برای روشی دیگر جهت اجبار به استفاده از این گزینههای قدیمی مراجعه کنید.
- -d, --delay=MS
- این گزینه باعث ایجاد تاخیری به میزان MS میلیثانیه پیش از ارسال هر دستور TEST UNIT READY میشود.
- -n=NUM
- دستور TEST UNIT READY را به تعداد NUM بار اجرا میکند. در صورت عدم تعیین، پیشفرض 1 است. معادل --num=NUM در توضیحات اصلی.
- -N, --new
- تغییر حالت به گزینههای سبک جدیدتر.
- -p
- نمایش نشانگر پیشرفت (به درصد) در صورت موجود بودن. معادل --progress در توضیحات اصلی.
- -t
- پس از تکمیل تعداد درخواستشده از دستورات TEST UNIT READY، مدت زمان کل و میانگین تعداد دستورات اجراشده در هر ثانیه را در خروجی چاپ میکند. معادل --time در توضیحات اصلی.
- -v
- افزایش سطح جزئیات خروجی.
- -V
- چاپ رشته نسخه برنامه و سپس خروج.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
از نسخه 1.23 بسته sg3_utils، متغیر محیطی SG3_UTILS_OLD_OPTS قابل تعیین است. هنگامی که این متغیر وجود داشته باشد، این ابزار انتظار گزینههای قدیمیتر خط فرمان را دارد. بنابراین وجود این متغیر محیطی معادل استفاده از --old (یا -O) به عنوان اولین گزینه خط فرمان خواهد بود.
نویسندگان (AUTHORS)
نوشتهشده توسط D. Gilbert
حق نشر (COPYRIGHT)
حق نشر © 2000-2023
Douglas Gilbert
این
نرمافزار
تحت مجوز GPL
نسخه ۲
توزیع شده
است. هیچ
تضمینی
وجود
ندارد؛ حتی
برای
قابلیت
فروش یا
تناسب با یک
هدف خاص.
همچنین ببینید (SEE ALSO)
sg_inq, sg_requests (sg3_utils)
| May 2023 | sg3_utils-1.48 |