在linux中添加到$ PATH,以便它可用于守护进程

时间:2010-08-02 19:38:50

标签: linux environment-variables daemon

我可以在哪里添加到$ PATH,以便所有守护进程都可以使用它?在守护进程启动之前它是“包含”还是“源”?

非常感谢!

4 个答案:

答案 0 :(得分:1)

一个选项是/etc/profile

答案 1 :(得分:0)

守护进程在不同类型的UNIX上以多种不同的方式启动。他们中的大多数都有办法设置环境。

也许最根本的是为init进程设置环境,通常是通过/ etc / inittab。这将为系统中的所有进程设置启动环境。

答案 2 :(得分:0)

如果您有脚本或命令,可以将其放在/ bin /中并使用chmod和chown设置适当的所有者和权限

答案 3 :(得分:0)

我可能误读了,如果你想在守护进程之前运行一些东西你可以创建一个cron作业或者......

系统启动文件位于/etc/rc2.d中。您可以使用要在系统启动时运行的命令将文件添加到此目录。假设您要在系统启动时删除一些临时文件,可以在/etc/rc2.d中放入一个名为TempFileDel的文件,其中包含删除临时文件的命令,因此每次系统重新启动时都会运行。 直升机。 正如shereenmotor所说,通常,启动脚本位于/etc/rc2.d中,但这取决于您运行的UNIX / Linux和系统的默认运行级别。 但我担心这并不容易。脚本名称必须遵循一些规则: - 有两种脚本,比方说:kill脚本和启动脚本。两者都存储在/etc/rcX.d中。 - 在启动脚本之后首先执行kill脚本。 - kill脚本名称必须以“K”开头。 - 开始sctipts名称必须以“S”开头。 - 在第一个字母后面,必须有两位数字。这让“rc”知道执行sctrips的顺序。 rc是调用其他人的“主”脚本。看看你的/ etc / inittab。 - 最后,你选择的名字。 当“rc”调用此脚本时,它会添加一个参数:start为“S”脚本,stop为“K”脚本。这允许您仅使用链接为两个操作使用相同的脚本。

创建一个文件

#!/bin/ksh
case $1 in
start)
   echo Removing file...
   rm /tmp/somefile;;
stop)
   echo bye!;;
esac

然后

ln -s /path/to/TempFileDel /etc/rc2.d/S10TempFileDel
ln -s /path/to/TempFileDel /etc/rc2.d/K10TempFileDel