4

我有一个 perl 脚本,我需要在启动时使用我的用户帐户下的参数运行一次。

所以当我启动系统时,它需要执行这样的命令,

./path/to/script.pl start

有任何想法吗?

4

3 回答 3

7

您可以在 crontab 中使用一行(crontab -e)

在启动时运行命令:

编辑 /etc/crontab 添加以下行:

@reboot root perl ./path/to/script.pl start

^^^ 以 root 身份运行。将“root”更改为“BlackCow”以作为 BlackCow 运行

或者,您可以使用 upstart(将 .conf 文件添加到 /etc/init/)。这是我笔记的复制和粘贴:

使用 upstart 在重新启动/启动时运行守护程序

例如 /etc/init/prestocab.conf:

#!upstart
description "node.js server"
author      "BlackCow"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown

script
    export HOME="/root"

    exec sudo -u root /usr/local/bin/node /home/prestocab/prestocab.com/www/socket.io/server.js 2>&1 >> /var/log/prestocab.log
end script

要使用:

start prestocab
stop prestocab
restart prestocab

# 如果守护进程崩溃,你可能想要使用某种进程监视器来重新启动它

于 2011-07-15T11:34:34.283 回答
3

取决于init您使用的是什么,如果您的 Ubuntu 版本使用的是新贵

您必须配置适当的 Upstart 启动脚本,如果不是rc基于您的runlevel. 检查update-rc.d

于 2011-07-15T08:03:16.340 回答
2

在 Ubuntu 上,最简单的方法是将此行添加到您的/etc/rc.local文件中(在该exit 0行之前,username用您自己的用户名替换):

su -c "./path/to/script.pl start" username &
于 2011-07-16T18:06:27.740 回答