LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 974|回复: 3

可执行文件的自动运行和手动调用方式的区别请教!!

[复制链接]
发表于 2008-1-24 11:59:44 | 显示全部楼层 |阅读模式
我在linux系统上开发了一个USB端口操作程序HWActivator.out,然后把它拷贝到/sbin/目录下,同时在/etc/udev/rules.d/目录下做了一个配置文件,内容如下:
SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/sbin/HWActivator.out"

这样,当系统检测到PID为0x1003的设备时,系统就会自动运行我们的HWActivator.out程序。但是我发行该程序自动运行后总是没有达到预期的效果,而直接在Terminal上手动执行HWActivator.out,则一切正常。而且使用自动执行的方式,HWActivator.out无法写log文件,系统总是报SELinux错误;而在在Terminal上手动执行HWActivator.out,则可以正确的写log文件。

请问上面提到的通过配置文件自动执行HWActivator.out程序, 和在Terminal上手动执行HWActivator.out程序,这两种方式存在什么本质上的区别吗?
发表于 2008-1-26 04:01:38 | 显示全部楼层
估计是运行程序的用户不一样,而导致的权限问题?
回复 支持 反对

使用道具 举报

发表于 2008-1-26 11:30:55 | 显示全部楼层
在控制台运行的话,会多出很多环境变量,如HOME,PAGER,USER等。
在启动脚本执行的话,需要自己手动设置很多环境变量。
回复 支持 反对

使用道具 举报

发表于 2008-1-26 13:17:08 | 显示全部楼层
Post by realtang;1811263
在控制台运行的话,会多出很多环境变量,如HOME,PAGER,USER等。
在启动脚本执行的话,需要自己手动设置很多环境变量。


嗯,以前设置svn daemon的hooks的时候,就出现过$HOME没有设置的问题。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表