2011-07-15 267 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 &