2011-07-15 269 views
4

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

所以,当我了引导系统,它需要执行这样的命令,

./path/to/script.pl start 

任何想法?

+0

Offtopic - 尝试http://askubuntu.com/ –

回答

3

取决于你使用的是什么init,如果你的Ubuntu的版本使用upstart

您必须配置相应的新贵启动脚本,如果没有 根据您的runlevelrc脚本。检查update-rc.d

7

你可以使用一个线在crontab(crontab -e命令)

在启动时运行的命令:

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

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

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

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

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

例如/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 

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

2

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

su -c "./path/to/script.pl start" username &