首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gammu-smsd脚本结果退出状态2

gammu-smsd脚本结果退出状态2
EN

Stack Overflow用户
提问于 2015-01-29 22:16:33
回答 1查看 5.3K关注 0票数 2

我想转发一个使用gammu的RunOnReceive短信。

--这是我想要运行的脚本(/var//gammu/transd.sh),如果我从sudoer或使用sudo -u gammu -g gammu /var/spool/gammu/forward.sh运行它,它就会运行得很完美。

代码语言:javascript
复制
#!/bin/bash

SMS_MESSAGES=1

for i in `seq $SMS_MESSAGES`
do
    number="SMS_${i}_NUMBER"
    text="SMS_${i}_TEXT"
    eval "gammu-smsd-inject TEXT my_number_goes_here -text \"${!number}: ${!text}\""
done

--这是我正在经历的问题:

代码语言:javascript
复制
Thu 2015/01/29 23:08:57 gammu-smsd[2549]: Starting run on receive: /var/spool/gammu/forward.sh IN20150130_000850_00_+37368214400_00.txt 
Thu 2015/01/29 23:08:57 gammu-smsd[2154]: Process failed with exit status 2

ls -l /etc/gammu-smsdrc /var/spool/gammu/ /usr/bin/gammu-smsd*输出

代码语言:javascript
复制
-rw-r--r-- 1 root root   457 Jan 29 22:44 /etc/gammu-smsdrc
-rwxrwxrwx 1 root root 14336 Jun 10  2012 /usr/bin/gammu-smsd
-rwxrwxrwx 1 root root 51164 Jun 10  2012 /usr/bin/gammu-smsd-inject
-rwxrwxrwx 1 root root  9972 Jun 10  2012 /usr/bin/gammu-smsd-monitor

/var/spool/gammu/:
total 24
drwxrwxrwx 2 gammu gammu 4096 Jan 28 16:02 error
-rwxrwxrwx 1 gammu gammu  189 Jan 29 22:13 forward.sh
drwxrwxrwx 2 gammu gammu 4096 Jan 29 23:08 inbox
-rw-rw-r-- 1 gammu gammu 3702 Jan 29 23:08 log
drwxrwxrwx 2 gammu gammu 4096 Jan 29 23:07 outbox
drwxrwxrwx 2 gammu gammu 4096 Jan 29 23:07 sent

如果我只做了./forward.sh (而不是根),会发生什么呢?所以一切都好:

代码语言:javascript
复制
gammu-smsd-inject[2606]: Created outbox message OUTC20150029_231213_00_my_number_here_sms0.txt
Written message with ID /var/spool/gammu/outbox/OUTC20150029_231213_00_my_number_here_sms0.txt

这里是我的/etc/gammu-smsdrc

代码语言:javascript
复制
# Configuration file for Gammu SMS Daemon

[gammu]
port = /dev/ttyUSB0
connection = at

[smsd]
service = files

logfile = /var/spool/gammu/log

debuglevel = 2

commtimeout = 1
sendtimeout = 15
statusfrequency = 0

outboxformat = unicode
transmitformat = unicode

RunOnReceive = /var/spool/gammu/forward.sh

inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/

ps -fe | grep gammu

代码语言:javascript
复制
gammu     2154     1  0 23:05 ?        00:00:02 /usr/bin/gammu-smsd --daemon --user gammu --pid /var/run/gammu-smsd.pid
cubie     2644  2403  0 23:20 pts/0    00:00:00 grep gammu

拜托,帮帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-21 23:56:16

我也有同样的问题,我用这种方法解决了这个问题:

  1. 首先向sudoers添加gammu用户,没有密码: 类型:$ sudo visudo

并添加:gammu ALL=(ALL) NOPASSWD: ALL

  1. 然后以根用户身份运行gammu-smsd:

/etc/init.d/gammu-smsd

USER=gammu更改为USER=root

保存它,不要忘记重新启动守护进程:service gammu-smsd restart

  1. 在RunOnReceive脚本中,在gammu-smsd-inject前面添加sudo: 例如:sudo gammu-smsd-inject TEXT my_tel_num -text "Hello world!"

我希望这对你也有用!

P.S.:我使用Gammu版本1.31.90。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28225682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档