linux自動啟動
㈠ linux中如何開機啟動運行指定的應用程序或指令
fonts
export QWS_MOUSE_PROTO=Tslib.1 用戶啟動文件
#;bin/yuan/input/etc/ts0
export TSLIB_CALIBFILE=/:是「空格」+「&」符號)讓其在後台運行.d/,若用戶不需要啟動QT,造成其他程序(比如Shell)無法通過串口終端與用戶交互.conf
export TSLIB_TSDEVICE=/init;home/etc/,則可能會導致位於其後的指令或程序無法得到執行;ts/,那麼設置hellow程序開機啟動的方法如程序清單 1!/usrb/,可以直接刪除
export TSLIB_PLUGINDIR=/,you can delete it 下面是啟動QT界面的指令;hellow
#start qt command.d/dev/,將要執行的指令添加到裡面;sh
#you can add your app start_command three
/home/。
程序清單1;ts0
/
export TSLIB_CONFFILE=/。若用戶有一個hellow的程序放在/start_userapp;start_zylauncher &
如果程序是一個阻塞程序(程序被運行後不會退出或返回);目錄中,可以通過vi命令編輯/。
當用戶需要EasyARM-iMX283在開機啟動後就運行指定的應用程序或指令時,並且始終佔用串口終端其實樓主的問題很專業;zylauncher/,之前我在周立功那邊也了解過不少;ts;usrb/usr/。對於此類應用程序,如下所示;etc/:/input/dev/rc.1紅色部分所示;home/pointercal
export QT_QWS_FONTDIR=/,可以在其後面添加「 &」(注意:
/
可以把需要運行的指令放到/etc/rc.local中
㈡ Linux開機自啟
開機啟動讀取的所有文件檢查一次,然後把登錄用戶讀取的文件所有都檢查一次。你這個任務可能不只是寫在了rc.local,rc.local僅僅是開機啟動的最常用修改文件,開機啟動會讀好幾個文件的,對應的順序也不一樣
㈢ 如何在Linux桌面環境下自動啟動程序
我在本教程中將介紹如何在各種Linux桌面環境下,自動啟動某個程序。
GNOME桌面環境
在終端中運行這個命令,啟動"Startup Applications Preferences"(啟動應用程序首選項)GUI。
$ gnome-session-properties
點擊"Add"(添加)按鈕,即可配置一個新的啟動應用程序。分別往"Name"(名稱)欄和"Command"(命令)欄裡面鍵入該應用程序的名稱和該應用程序的CLI命令。往"Comment"(注釋)欄裡面鍵入可選的描述。
Unity桌面環境
在Unity Dash中鍵入"startup"(啟動)。一旦"Startup Application"(啟動應用程序)圖標出現,就點擊該圖標。
一旦"Startup Applications Preferences"(啟動應用程序首選項)窗口打開,輸入"Name"(名稱)、"Command"(命令)和"Comment"(注釋),即可配置自動啟動的某個程序。
KDE桌面環境
首先,打開"System Settings"(系統設置)窗口。你會在System Administration(系統管理)下面找到"Startup and Shutdown"(啟動和關閉)圖標。點擊該圖標。
系統會要求你從一系列已知的應用程序中選擇自動啟動的某個應用程序。如果你的程序沒有列出來,在上面空白區輸入該應用程序的名稱。如果該程序(比如CLI命令)將在終端中運行,就要選中"Run in terminal"(終端中運行)復選框。點擊"OK"(確定)按鈕。
下一步,系統要求你輸入該應用程序的詳細信息,包括名稱、命令和描述。
之後,你會看到該程序已完成配置,可自動運行。想配置額外的啟動程序/腳本,你可以點擊右邊側邊欄中的"Add Program"(添加程序)按鈕或"Add Script"(添加腳本)按鈕。
MATE桌面環境
在MATE桌面上,依次進入到"Applications"(應用程序)-> "Preferences(首選項)-> "Startup Applications"(啟動應用程序)。
你會看到"Startup Applications Preferences"(啟動應用程序首選項)窗口。點擊"Add"(添加)按鈕。
輸入啟動應用程序的詳細信息:"Name"(名稱)、"Command"(命令)和"Comment"(注釋)。
Xfce桌面環境
從Xfce桌面菜單中選擇"Settings Manager"(設置管理器)。在"Settings"(設置)窗口中,點擊"Session and Startup"(會話和啟動)圖標。
在"Application Autostart"(應用程序自動啟動)選項卡下,點擊底部的"Add"(添加)按鈕。
輸入自動啟動的某個程序的詳細信息:"Name"(名稱)、"Command"(命令)和"Description"(描述)。
LXDE桌面環境
想在LXDE桌面環境下配置啟動應用程序,只需在終端中運行下面幾個命令。
$ mkdir -p ~/.config/lxsession/Lubuntu/ $ touch ~/.config/lxsession/Lubuntu/autostart $ leafpad autostart
然後,把下面這一項添加到已創建的自動啟動文件中:
@conky
這里,"conky"是登錄後,我想自動運行的那個CLI命令的名稱。
保存並關閉。
㈣ 如何讓linux系統開機自動啟動我的程序
試試以後台方式自啟動你需要運行的程序,./app.out
&,就是在後面加上個&符號,而且我記得linux裡面自啟動程序在/etc/init.d/rcs裡面吧。
㈤ linux開機自動啟動腳本放在哪兒
在/etc/rc.local中添加
如果不想將腳本粘來粘去,或創建鏈接什麼的,
則:
step1. 先修改好腳本,使其所有模塊都能在任意目錄啟動時正常執行;
step2. 再在/etc/rc.local的末尾添加一行以絕對路徑啟動腳本的行;
如:
$vim/etc/rc.local
#!/bin/sh
#
#Thisscriptwillbeexecuted*after*alltheotherinitscripts.
#'t
#.
touch/var/lock/subsys/local
./etc/rc.d/rc.tune
/opt/pjt_test/test.pl
保存並退出;
㈥ 如何在linux裡面設置程序自動啟動
只需編輯/etc/init.d/rc.local文件,在最後加上你的腳本即可。
比如:我已經編寫了一個腳本shell.sh,存放在/home/mars704/Desktop/ 下面
在終端輸入 gedit /etc/init.d/rc.local編輯文件,在結尾出加入:
/home/mars704/Desktop/sh.sh 即可開機自動載入腳本
首先,linux隨機啟動的服務程序都在/etc/init.d這個文件夾里,裡面的文件全部都是腳本文件(腳本程序簡單的說就是把要運行的程序寫 到一個 文件里讓系統能夠按順序執行,類似windows下的autorun.dat文件),另外在/etc這個文件夾里還有諸如名為rc1.d, rc2.d一直到rc6.d的文件夾,這些都是linux不同的runlevel,我們一般進入的X windows多用戶的運行級別是第5級,也就是rc5.d,在這個文件夾下的腳本文件就是運行第5級時要隨機啟動的服務程序。需要注意的是,在每個rc (1-6).d文件夾下的文件其實都是/etc/init.d文件夾下的文件的一個軟連接(類似windows中的快捷方式),也就是說,在 /etc/init.d文件夾下是全部的服務程序,而每個rc(1-6).d只鏈接它自己啟動需要的相應的服務程序!
要啟動scim(某一 程序),我們首先要知道scim程序在哪裡,用locate命令可以找到,scim在/usr/bin/scim這里,其中usr表 示是 屬於用戶的,bin在linux里表示可以執行的程序。這樣,我就可以編寫一個腳本程序,把它放到/etc/init.d里,然後在rc5.d里做一個相 應的軟鏈接就可以了。
這個腳本其實很簡單,就兩行:
#!/bin/bash
/usr/bin/scim
第一行是聲明用什麼終端運行這個腳本,第二行就是要運行的命令。
還 需要注意的一點是,在rc5.d里,每個鏈接的名字都是以S或者K開頭的,S開頭的表示是系統啟動是要隨機啟動的,K開頭的是不隨機啟動的。這 樣,你就可以知道,如果我要哪個服務隨機啟動,就把它名字第一個字母K改成S就可以了,當然,把S改成K後,這個服務就不能隨機啟動了。因此,我這個鏈接 還要起名為SXXX,這樣系統才能讓它隨機啟動。
在RH下,rc.local是默認啟動的最後一個腳本文件,所以,
如果你想要隨機啟動,還有一種方法就是在rc.local的尾部加入/usr/bin/scim,這樣就可以了
㈦ linux如何設置程序開機啟動後台運行
1. 開機啟動時自動運行程序
Linux載入後, 它將初始化硬體和設備驅動, 然後運行第一個進程init。init根據配置文件繼續引導過程,啟動其它進程。通常情況下,修改放置在
/etc/rc或
/etc/rc.d 或
/etc/rc?.d
目錄下的腳本文件,可以使init自動啟動其它程序。例如:編輯/etc/rc.d/rc.local 文件(該文件通常是系統最後啟動的腳本),在文件最末加上一行「xinit」或「startx」,可以在開機啟動後直接進入X-Window。
2. 登錄時自動運行程序
用戶登錄時,bash先自動執行系統管理員建立的全局登錄script :
/ect/profile
然後bash在用戶起始目錄下按順序查找三個特殊文件中的一個:
/.bash_profile、
/.bash_login、
/.profile,
但只執行最先找到的一個。因此,只需根據實際需要在上述文件中加入命令就可以實現用戶登錄時自動運行某些程序(類似於DOS下的Autoexec.bat)。
㈧ linux如何設置程序開機啟動後台運行
有些時候,我們需要在終端啟動一個程序,並使之運行——但是如果關閉終端,那麼這個程序也就隨著關閉了。那麼有沒有什麼方法在關閉終端後,讓已經從這個終端啟動的程序繼續運行呢?有以下方法
1.讓linux忽略終端的hung up 信號,不關閉進程;
2.讓此進程變為終端的非子進程。
方法一:
在終端輸入命令:
# ./pso > pso.file 2>&1 &
解釋:將pso直接放在後台運行,並把終端輸出存放在當前目錄下的pso.file文件中。
當客戶端關機後重新登陸伺服器後,直接查看pso.file文件就可看執行結果(命
令:#cat pso.file )。
或者 在終端輸入命令:
# nohup ./pso > pso.file 2>&1 &
解釋:nohup就是不掛起的意思,將pso直接放在後台運行,並把終端輸出存放在當前
目錄下的pso.file文件中。當客戶端關機後重新登陸伺服器後,直接查看pso.file
文件就可看執行結果(命令:#cat pso.file )。
方法二:
實現方案就是nohup命令。
例如要啟動jboss,可以nohup ./run.sh &。這樣就可以了,結尾的「&」符號表示後台啟動jboss,從而不影響繼續運行其他命令。
但這樣有一個問題,nohup命令雖然可以讓linux「放過」這個進程,但是nohup會同時把進程的控制台輸出重定向到nohup.txt下(默認是這個文件),當然可以重定向為其他的文件,但是輸出總會有的。
如果jboss運行很長時間,而且如果有很多控制台輸出的話,nohup.txt文件就會變的很大很大。
通常項目中的日誌都會輸出到特定的日誌文件或者輸出到 資料庫 中,也就是說控制台的輸出對於程序的意義不大,那麼可不可以拋棄掉這些輸出呢?答案是肯定的。
這里講解一下linux的重定向(注意,是linux的重定向,不是針對nohup)。
0、1和2分別表示標准輸入、標准輸出和標准錯誤信息輸出,可以用來指定需要重定向的標准輸入或輸出。
在一般使用時,默認的是標准輸出,既1.當我們需要特殊用途時,可以使用其他標號。例如,將某個程序的錯誤信息輸出到log文件中:./program 2>log。這樣標准輸出還是在屏幕上,但是錯誤信息會輸出到log文件中。
另外,也可以實現0,1,2之間的重定向。2>&1:將錯誤信息重定向到標准輸出。
Linux下還有一個特殊的文件/dev/null,它就像一個無底洞,所有重定向到它的信息都會消失得無影無蹤。
結合nohup,我們可以這樣 nohup ./run.sh >/dev/null &
這是最簡單的一種方式,既保證了程序能夠一直後台執行,又能保證不會產生太大的nohup.txt文件。
方法三:
利用的linux的一個機制,讓程序在subshell中執行,方法很簡單,將命令用括弧() 括起來即可。
ps -ef | grep test
可以看到run.sh的父進程為1,不是當前終端了,這樣就能忽略hung up信號。
當然linux還可以動態的讓程序後台運行或不被hung up 信號關閉,例如disown命令,setid命令等。
方法四:
如果是使用Ubuntu的話,你可以利用CTRL+ALT+T組合鍵打開終端。當然你也可以使用超級鍵(Windows鍵)打開Dash,搜索「TERM」,然後點擊「Term」圖標來打開終端窗口。
對於其他的桌面環境來說,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜單中找到終端。有些環境會在停靠欄或者面板上麵包含終端圖標。
通常情況下,你可以在終端裡面直接輸入應用程序名來啟動一個應用程序。比如說,你可以通過輸入「firefox」來啟動Firefox。
在終端啟動應用程序的好處是,你可以包含一些額外的參數。
例如,你可以通過下列命令來打開一個Firefox瀏覽窗口,然後利用默認的搜索引擎搜索相關信息:
firefox -search "linux.cn"
你可能會注意到,如果你啟動Firefox,程序打開以後,回到了終端窗口控制,這就意味著你可以繼續在終端進行工作。
通常情況下,如果你在終端啟動了應用程序,控制會切換到新啟動的應用程序,只有程序被關閉以後才會重新切換到終端控制。這是因為你在前台啟動了這個程序。
如果要在Linux終端打開應用程序並且返回終端控制,那麼你需要將應用程序啟動為後台進程。
和下面所列的命令一樣,我們可以通過增加一個(&)符號,將應用程序在後台啟動。
libreoffice &
譯者註:如果需要加參數的話,記得把&符號放在最後。
譯者註:一般情況下,關閉終端時,在這個終端啟動的後台程序也會被終止,要使終端關閉以後,後台程序依然保持執行可以使用下列命令
nohup command [arg...] &
如果應用程序目錄沒有安裝在PATH變數包含的目錄裡面的話,我們就沒有辦法直接通過應用程序名來啟動程序,必須輸入應用程序的整個路徑來啟動它。
/path/to/yourprogram &
如果你不確定程序輸入哪個Linux目錄結構的話,可以使用find或者location命令來定位它。
可以輸入下列符號來找到一個文件:
find /path/to/start/from -name programname
例如,你可以輸入下列命令來找到Firefox:
find / -name firefox
命令運行的結果會嗖的一下輸出一大堆,別擔心,你也可以通過less或者more來進行分頁查看。
find / -name firefox | more find / -name firefox | less
當find命令查找到沒有許可權訪問的文件夾時,會報出一條拒絕訪問錯誤,
你可以通過sudo命令來提示許可權。當然,如果你沒有安裝sudo的話,就只能切換到一個擁有許可權的用戶了。
sudo find / -name firefox | more
如果你知道你要查找的文件在你的當前目錄結構中,那麼你可以使用點來代替斜杠:
sudo find . -name firefox | more
你可能需要sudo來提升許可權,也可能根本就不需要,如果這個文件在你的主目錄裡面,那麼就不需要使用sudo。
有些應用程序則必須要提升許可權才能運行,否則你就會得到一大堆拒絕訪問錯誤,除非你使用一個具有許可權的用戶或者使用sudo提升許可權。
這里有個小竅門。如果你運行了一個程序,但是它需要提升許可權來操作,輸入下面命令試試:
sudo !!
方法五:
在Unix/Linux下如果想讓程序獨立終端運行,一般都是使用 & 在命令結尾來讓程序自動運行。(命令後可以不追加空格)
打開gnome-terminal,執行如下命令:
delectate@delectate:~$ totem &[1] 8510delectate@delectate:~$ 有幾點需要注意:
已經啟動的程序依然attach於當前pts,只有當前終端模擬器關閉(使用exit命令退出),進程自動被tty繼承。delectate@delectate:~$ ps -e | grep totem //程序已被以totem & 形式啟動,當前附在pts0上8819 pts/0 00:00:00 totemdelectate@delectate:~$ ps -e | grep totem //pts0的模擬終端被exit命令關閉,totem自動附在tty8819 ? 00:00:00 totemdelectate@delectate:~$
具有debug輸出的進程,需要按enter鍵進行中斷當前debug輸出。但是如果程序持續進行printf,你將無法輸入任何命令。delectate@delectate:~$ vlc &[1] 8850delectate@delectate:~$ VLC media player 1.0.6 Goldeneye[0x8b998b0] main libvlc: Running vlc with the default interface. Use 『cvlc』 to use vlc without interface. //enter presseddelectate@delectate:~$ //show a clean terminal now** (:8850): CRITICAL **: giop_thread_request_push: assertion `tdata != NULL』 failed //仍然在輸出數據…… //關閉程序[1]+ Done vlcdelectate@delectate:~$
你無法記錄程序的debug輸出結果。
只有當虛擬終端是 $ 或者 # 時候,才可以關閉此終端,否則可能導致已經啟動的進程被關閉(按enter——如果程序持續輸出信息而沒有出現 $ 或 #)
使用nohup命令:
nohup描述:Run COMMAND, ignoring hangup signals.(忽略任何中斷/掛起信號,使命令繼續執行)
但是當你嘗試使用命令:
1nohup command
時候卻會遇到不大不小的麻煩……
delectate@delectate:~$ nohup vlcnohup: ignoring input and appending output to `nohup.out』
是的,雖然它自動把debug信息記錄到nohup.out文件,但是你卻無法使用這個終端進行任何操作。
所以你需要和第一個方法混用,即
nohupcommand {option}&
混用後,它會自動把你執行的命令輸出結果記錄到許可權為-rw——-,名為nohup.out的文件中。
但是你仍然需要
delectate@delectate:~$ nohup vlc &[1] 9045delectate@delectate:~$ nohup: ignoring input and appending output to `nohup.out』 //在這里按一下回車或以ctrl+c以 //show a clean terminal delectate@delectate:~$
與使用 「&」 性質相同,當前啟動程序的終端如果沒有被關閉,已經啟動的程序附在pst上;如果終端被關閉,則自動附在tty。
如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out。默認狀態下,nohup默認輸出到nohup.out文件,你也可以利用重定向來指定輸出文件:
nohupcommand {option} > myout.file 2>&1 &
只有當虛擬終端是 $ 或者 # 時候,才可以關閉此終端,否則可能導致已經啟動的進程被關閉(按enter——如果程序持續輸出信息而沒有出現 $ 或 #)
其他相關命令:
jobs:查看當前有多少在後台運行的命令
fg:將後台中的命令調至前台繼續運行。如果後台中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
bg:將一個在後台暫停的命令,變成繼續執行。如果後台中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的後台正在執行的命令的序號(不是pid)
殺死進程
殺死已經啟動的程序和普通方式一樣:
pkill -9 name
killall name
kill pid
…
命令應用:
linux伺服器掛機下載;啟動相關服務;linux伺服器啟動進程(尤其是ssh登錄)
我就曾經用 1nohup aria2c -i downloadlist -m 0 -j 1 &