.\" Man page generated from reStructuredText .\" by the Docutils 0.22.4 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "GAMMU-SMSD" "1" "Feb 09, 2026" "1.43.2" "Gammu" .SH "نام (NAME)" gammu-smsd \- دیمن پیامک برای گامو (Gammu) .SH "خلاصه دستور (SYNOPSIS)" .INDENT 0.0 .INDENT 3.5 .sp .EX gammu\-smsd [OPTION]... .EE .UNINDENT .UNINDENT .SH "توضیحات (DESCRIPTION)" .sp این صفحه راهنما به‌طور خلاصه دستور \fBgammu\-smsd\fP را شرح می‌دهد. .sp دستور \fBgammu\-smsd\fP برنامه‌ای است که به‌صورت دوره‌ای مودم GSM را برای پیام‌های دریافت‌شده پویش می‌کند، آن‌ها را در حافظه مشخص‌شده ذخیره می‌نماید و همچنین پیام‌های قرارگرفته در صف این حافظه را ارسال می‌کند. .sp این دیمن می‌تواند پس از دریافت سیگنال قطع ارتباط (SIGHUP) فایل پیکربندی را مجدداً بارگذاری کند و در پاسخ به SIGINT و SIGTERM به‌طور مناسب خاتمه یابد. .sp این برنامه گزینه‌های زیر را می‌پذیرد (توجه داشته باشید که گزینه‌های طولانی ممکن است در برخی پلتفرم‌ها پذیرفته نشوند): .INDENT 0.0 .TP .B \-h, \-\-help نمایش راهنما. .UNINDENT .INDENT 0.0 .TP .B \-v, \-\-version نمایش اطلاعات نسخه و قابلیت‌های کامپایل‌شده. .UNINDENT .INDENT 0.0 .TP .B \-c, \-\-config=file فایل پیکربندی مورد استفاده؛ پیش‌فرض /etc/gammu\-smsdrc است. در ویندوز هیچ پیش‌فرضی وجود ندارد و مسیر فایل پیکربندی باید همواره مشخص شود. .sp اگر SMSD را به‌عنوان یک دیمن سیستمی (یا سرویس) اجرا می‌کنید، توصیه می‌شود از مسیر مطلق برای فایل پیکربندی استفاده نمایید، زیرا دایرکتوری آغاز به کار ممکن است با آنچه انتظار دارید متفاوت باشد. .sp برای مستندات فایل پیکربندی، به SMSD Configuration File \%<#\:gammu-smsdrc> مراجعه کنید. .UNINDENT .INDENT 0.0 .TP .B \-p, \-\-pid=file فایل قفل جهت ذخیره pid؛ خالی بودن به معنای عدم قفل‌گذاری است. در ویندوز پشتیبانی نمی‌شود. .UNINDENT .INDENT 0.0 .TP .B \-U, \-\-user=user کاهش مجوزهای دیمن به کاربر انتخاب‌شده پس از شروع به کار. .UNINDENT .INDENT 0.0 .TP .B \-G, \-\-group=group کاهش مجوزهای دیمن به گروه انتخاب‌شده پس از شروع به کار. .UNINDENT .INDENT 0.0 .TP .B \-d, \-\-daemon اجرای برنامه در قالب دیمن پس‌زمینه هنگام راه‌اندازی. در ویندوز پشتیبانی نمی‌شود. .UNINDENT .INDENT 0.0 .TP .B \-i, \-\-install\-service نصب SMSD به‌عنوان یک سرویس ویندوز. .UNINDENT .INDENT 0.0 .TP .B \-u, \-\-uninstall\-service حذف نصب SMSD از سرویس‌های ویندوز. .UNINDENT .INDENT 0.0 .TP .B \-s, \-\-start\-service شروع به کار سرویس ویندوز SMSD. .UNINDENT .INDENT 0.0 .TP .B \-k, \-\-stop\-service متوقف کردن سرویس ویندوز SMSD. .UNINDENT .INDENT 0.0 .TP .B \-f, \-\-max\-failures=count خاتمه برنامه پس از تعداد مشخصی از خرابی‌ها. از 0 برای عدم خاتمه استفاده کنید (پیش‌فرض). .UNINDENT .INDENT 0.0 .TP .B \-X, \-\-suicide=seconds بستن و پایان دادن خودکار برنامه پس از تعداد ثانیه‌های مشخص‌شده. .UNINDENT .INDENT 0.0 .TP .B \-S, \-\-run\-service اجرای برنامه به‌عنوان سرویس ویندوز SMSD. این گزینه نباید به‌صورت دستی استفاده شود، بلکه تنها مدیر سرویس‌های ویندوز (Windows Service Manager) باید از این دستور استفاده کند. .UNINDENT .INDENT 0.0 .TP .B \-n, \-\-service\-name=name تعیین نام سرویس ویندوز. هر سرویس نیازمند یک نام یکتا است؛ بنابراین اگر می‌خواهید چندین نمونه SMSD را اجرا کنید، باید برای هر سرویس نام متفاوتی برگزینید. پیش‌فرض \(dqGammuSMSD\(dq است. .UNINDENT .INDENT 0.0 .TP .B \-l, \-\-use\-log استفاده از ثبت وقایع (لاگ‌گیری) طبق تنظیمات فایل پیکربندی (پیش‌فرض). .UNINDENT .INDENT 0.0 .TP .B \-L, \-\-no\-use\-log عدم استفاده از ثبت وقایع طبق تنظیمات فایل پیکربندی. .UNINDENT .INDENT 0.0 .TP .B \-e, \-\-install\-event\-log نصب توضیحات EventLog ویندوز در رجیستری. .sp افزوده شده در نسخه 1.31.90. .UNINDENT .INDENT 0.0 .TP .B \-E, \-\-uninstall\-event\-log حذف نصب توضیحات EventLog ویندوز از رجیستری. .sp افزوده شده در نسخه 1.31.90. .UNINDENT .SH "سیگنال‌ها (SIGNALS)" .sp دیمن SMSD را می‌توان با استفاده از سیگنال‌های POSIX زیر کنترل کرد (در صورتی که پلتفرم شما پشتیبانی کند): .INDENT 0.0 .TP .B SIGHUP بارگذاری مجدد پیکربندی و اتصال مجدد به تلفن. .TP .B SIGINT, SIGTERM خاتمه دادن تمیز و ایمن (Graceful shutdown) به دیمن. .TP .B SIGALRM استفاده داخلی برای \fBgammu\-smsd \-X\fP \% .TP .B SIGUSR1 تعلیق فعالیت SMSD و بستن اتصال به تلفن و پایگاه‌داده. .TP .B SIGUSR2 از سرگیری فعالیت SMSD (پس از تعلیق قبلی). .UNINDENT .sp تغییر یافته در نسخه 1.22.91: پشتیبانی از SIGHUP اضافه شد. .sp تغییر یافته در نسخه 1.22.95: پشتیبانی از SIGALRM اضافه شد. .sp تغییر یافته در نسخه 1.31.90: پشتیبانی از SIGUSR1 و SIGUSR2 اضافه شد. .SH "مثال‌ها (EXAMPLES)" .SS مثال‌های لینوکس/یونیکس .sp شروع به کار SMSD به‌عنوان یک دیمن در لینوکس: .INDENT 0.0 .INDENT 3.5 .sp .EX gammu\-smsd \-\-config /etc/gammu\-smsdrc \-\-pid /var/run/gammu\-smsd.pid \-\-daemon .EE .UNINDENT .UNINDENT .sp شروع به کار SMSD به‌عنوان یک دیمن در لینوکس با دسترسی‌های تقلیل‌یافته: .INDENT 0.0 .INDENT 3.5 .sp .EX gammu\-smsd \-\-config /etc/gammu\-smsdrc \-\-pid /var/run/gammu\-smsd.pid \-\-daemon \-\-user gammu \-\-group gammu .EE .UNINDENT .UNINDENT .SS SMSD به‌عنوان یک دیمن سراسری سیستم .sp برای استفاده از SMSD به‌عنوان یک دیمن، ممکن است بخواهید از اسکریپت init موجود در پوشه contrib/init همراه Gammu استفاده کنید. این اسکریپت به‌طور پیش‌فرض نصب نمی‌شود؛ یا آن را دستی نصب کنید یا فایل INSTALL را برای راهنما ببینید. .sp در ویندوز ۷ ممکن است لازم باشد قبل از نصب سرویس SMSD، قابلیت کنترل حساب کاربری (UAC) را غیرفعال کنید. .SS مثال‌های سرویس ویندوز .sp نصب سرویس ویندوز Gammu SMSD: .INDENT 0.0 .INDENT 3.5 .sp .EX gammu\-smsd.exe \-c c:\eGammu\esmsdrc \-i .EE .UNINDENT .UNINDENT .sp نصب دو نمونه از سرویس ویندوز SMSD: .INDENT 0.0 .INDENT 3.5 .sp .EX gammu\-smsd.exe \-c c:\eGammu\esmsdrc\-1 \-n Gammu\-first\-phone \-i gammu\-smsd.exe \-c c:\eGammu\esmsdrc\-2 \-n Gammu\-second\-phone \-i .EE .UNINDENT .UNINDENT .sp حذف نصب سرویس ویندوز: .INDENT 0.0 .INDENT 3.5 .sp .EX gammu\-smsd.exe \-u .EE .UNINDENT .UNINDENT .SS عیب‌یابی سرویس ویندوز .sp اگر Gammu نتواند به‌عنوان یک سرویس ویندوز اجرا شود (معمولاً خطای \(dqError 1053: The service did not respond to the start or control request in a timely fashion\(dq دریافت می‌شود)، ابتدا لاگ‌های SMSD را بررسی کنید. اگر راهنمایی مفیدی نداشتند، اجرای دستی SMSD را دقیقاً با همان پارامترهایی که سرویس را نصب کرده‌اید (بدون \-i) آزمایش کنید. .sp برای مثال خط فرمان می‌تواند به این شکل باشد: .INDENT 0.0 .INDENT 3.5 .sp .EX gammu\-smsd.exe \-c smsdrc .EE .UNINDENT .UNINDENT .sp اکنون باید بتوانید خطاهای SMSD را مشاهده کنید، حتی اگر نتواند به‌عنوان سرویس شروع به کار کند. .SS فراخوانی Gammu و تعلیق SMSD .sp از آنجا که نمی‌توانید Gammu و Gammu SMSD را همزمان روی یک دستگاه اجرا کنید، می‌توانید این محدودیت را با تعلیق موقت SMSD با استفاده از سیگنال‌های \fISIGUSR1\fP و \fISIGUSR2\fP برطرف کنید (بخش سیگنال‌ها را نیز ببینید): .INDENT 0.0 .INDENT 3.5 .sp .EX SMSD_PID=\(gapidof gammu\-smsd\(ga if [ \-z \(dq$SMSD_PID\(dq ] ; then echo \(dqFailed to figure out SMSD PID!\(dq else kill \-SIGUSR1 $SMSD_PID gammu identify kill \-SIGUSR2 $SMSD_PID fi .EE .UNINDENT .UNINDENT .sp یا حتی یک اسکریپت \fIgammu\-safe\fP ایجاد کنید: .INDENT 0.0 .INDENT 3.5 .sp .EX #!/bin/bash SMSD_PID=\(gapidof gammu\-smsd\(ga if [ \-z \(dq$SMSD_PID\(dq ] ; then gammu $@ else tty=$(lsof |grep \-E \(dqgammu\-sms\es+$SMSD_PID\es+.*/dev/tty*\(dq|awk {\(aqprint $NF\(aq}) kill \-SIGUSR1 $SMSD_PID while test \(dq$(fuser $ttyfuser $tty 2> /dev/null|xargs)\(dq = $SMSD_PID do sleep 1 done sleep 1 gammu $@ kill \-SIGUSR2 $SMSD_PID while test \(dq$(fuser $ttyfuser $tty 2> /dev/null|xargs)\(dq != $SMSD_PID do sleep 1 done sleep 1 fi .EE .UNINDENT .UNINDENT .SH "محدودیت‌های شناخته‌شده (KNOWN LIMITATIONS)" .sp نمی‌توانید از یک تلفن به‌طور همزمان توسط چند برنامه استفاده کنید. با این حال در صورتی که قفل‌گذاری را در بخش \fB[gammu]\fP \%<#\:section-[gammu]> فعال نکرده باشید، ممکن است ارتباط با تلفن از برنامه‌های دیگر آغاز شود. در این حالت احتمالاً هیچ‌یک از برنامه‌ها کار نخواهند کرد؛ بخش «فراخوانی Gammu و تعلیق SMSD» را برای راهکار جایگزین ببینید. .sp هیچ راهی برای تشخیص این‌که آیا یک پیامک پاسخی به پیامک دیگر است با نگاه کردن به هدرهای پیام وجود ندارد. تنها راه دستیابی به این کار، افزودن یک توکن به پیام و درخواست از کاربر برای گنجاندن آن هنگام پاسخ است. .SH "نویسندگان (AUTHORS)" Michal Čihař .SH "حق نشر (COPYRIGHT)" 2009-2015, Michal Čihař .\" End of generated man page.