linux下/etc/rc.local的相关问题

今天在布环境的时候,遇到了一些小问题。

主要是自己写了一个python的程序,并在其中使用了subprocess模块,使其产生子进程并调用我的新elf文件(linux下的二进制可执行文件)。由于我的python脚本和elf文件是放在一起的,所以我在subprocess.Popen中就直接使用了./***来执行我的elf文件,导致的结果就是我执行文件后没有得到任何返回信息。。也就是elf文件没有执行。

起初觉得是权限的问题,因为我自己打命令是可以执行这个文件的,并且不会出现任何问题。

查阅相关资料后,得知rc.local的运行权限是root,在给了相关目录777权限的情况下还是无法完美运行这个程序。后来估计是程序有问题,把相对路径改成绝对路径,问题就解决了。

因为rc.local的绝对路径是/etc/rc.local,开机自启时使用了绝对路径来执行python程序,所以当前系统所在目录还是/etc/目录下。导致python程序在调用elf文件的时候不能找到文件位置,导致文件无法执行。

你可能感兴趣的:(网络安全,操作系统,网络空间安全,操作系统,网络安全)