linux開機啟動
⑴ linux開機怎麼啟動
只要電腦硬體沒有問題,Linux系統也沒有問題,啟動主機的電源鍵後,就可以正常進入Linux系統了。
⑵ 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 &
⑶ 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 設置開機服務的 啟動順序
可以在/etc/rc.local 中用腳本的方法,將mysqld abc tomcat的腳本文件依次寫入到rc.local中。如果都是sysv的腳本的話可以將/etc/rc<x>.d/(x為你的init啟動級別),將其中的腳本名稱前的數字按tomcat>abc>mysqld 的順序修改。
⑸ 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系統開機自動啟動我的程序
試試以後台方式自啟動你需要運行的程序,./app.out
&,就是在後面加上個&符號,而且我記得linux裡面自啟動程序在/etc/init.d/rcs裡面吧。
⑺ Linux開機自啟
開機啟動讀取的所有文件檢查一次,然後把登錄用戶讀取的文件所有都檢查一次。你這個任務可能不只是寫在了rc.local,rc.local僅僅是開機啟動的最常用修改文件,開機啟動會讀好幾個文件的,對應的順序也不一樣
⑻ linux 開機啟動項怎麼設置
運行級就是操作系統當前正在運行的功能級別。這個級別從1到6 ,具有不同的功能。
不同的運行級定義如下
# 0 - 停機(千萬不能把initdefault 設置為0 )
# 1 - 單用戶模式 # s init s = init 1
# 2 - 多用戶,沒有 NFS
# 3 - 完全多用戶模式(標準的運行級)
# 4 - 沒有用到
# 5 - X11 多用戶圖形模式(xwindow)
# 6 - 重新啟動 (千萬不要把initdefault 設置為6 )
這些級別在/etc/inittab 文件里指定。這個文件是init 程序尋找的主要文件,最先運行的服務是放在/etc/rc.d 目錄下的文件。在大多數的Linux 發行版本中,啟動腳本都是位於 /etc/rc.d/init.d中的。這些腳本被用ln 命令連接到 /etc/rc.d/rcn.d 目錄。(這里的n 就是運行級0-6)
chkconfig 命令有五項功能:添加服務,刪除服務,列表服務,改變啟動信息以及檢查特定服務的啟動狀態。
語法為:
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name
chkconfig [--level levels] name
chkconfig 沒有參數運行時,顯示用法。如果加上服務名,那麼就檢查這個服務是否在當前運行級啟動。如果是,返回 true,否則返回false。 --level 選項可以指定要查看的運行級而不一定是當前運行級。
如果在服務名後面指定了on,off 或者 reset,那麼 chkconfig 會改變指定服務的啟動信息。on 和 off 分別指服務在改變運行級時的啟動和停止。reset 指初始化服務信息,無論有問題的初始化腳本指定了什麼。
對於 on 和 off 開關,系統默認只對運行級 3,4, 5有效,但是 reset 可以對所有運行級有效。指定 --level 選項時,可以選擇特定的運行級。
需要說明的是,對於每個運行級,只能有一個啟動腳本或者停止腳本。當切換運行級時,init 不會重新啟動已經啟動的服務,也不會再次去停止已經停止的服務。
選項介紹:
--level levels
指定運行級,由數字 0 到 7 構成的字元串,如:
--level 35 表示指定運行級3 和5。
要在運行級別3、4、5中停運 nfs 服務,使用下面的命令:chkconfig --level 345 nfs off
--add name
這個選項增加一項新的服務,chkconfig 確保每個運行級有一項 啟動(S) 或者 殺死(K) 入口。如有缺少,則會從預設的init 腳本自動建立。
--del name
用來刪除服務,並把相關符號連接從 /etc/rc[0-6].d 刪除。
--list name
列表,如果指定了name 那麼只是顯示指定的服務名,否則,列出全部服務在不同運行級的狀態。
運行級文件
每個被chkconfig 管理的服務需要在對應的init.d 下的腳本加上兩行或者更多行的注釋。
第一行告訴 chkconfig 預設啟動的運行級以及啟動和停止的優先順序。如果某服務預設不在任何運行級啟動,那麼使用 - 代替運行級。
第二行對服務進行描述,可以用 跨行注釋。
例如,random.init 包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for
# higher quality random number generation.
表明 random 腳本應該在運行級 2, 3, 4, 5 啟動,啟動優先權為20,停止優先權為 80。
好了,介紹就到這里了,去看看自己目錄下的/etc/rc.d/init.d 下的腳本吧。
設置自啟動服務:chkconfig --level 345 nfs on
配置啟動項方法
命令行模式
#service servicename status是當前狀態
#chkconfig --list servicename是查看啟動狀態,也就是是否開機自動啟動
#chkconfig --list 列出所有開機啟動項#chkconfig --level 345 xx off 把不想啟動的項345級別設置為off(關閉)(服務名xx)
界面模式終端中直接輸入#ntsysv
Linux啟動項說明
apmd--apmd用來監視系統用電狀態,並將相關信息通過syslogd寫入日誌。也可以用來在電源不足時關機
arpwatch--用來維護乙太網物理地址和ip地址的對應關系
atd--運行用戶用at命令調度的任務。也在系統負荷比較低時運行批處理任務
autofs--當您需要時自動轉載文件系統,而當您不需要時自動卸載
chargen--tcp版本的chargen server
chargen-udp--udp版本的chargen server
crond--周期地運行用戶調度的任務。比起傳統的unix版本添加了不少屬性,而且更安全,配置更簡單
daytime--tcp版本的daytime server
daytime-udp--udp版本的daytime server
echo--tcp版本的echo server
echo-udp--udp版本的echo server
eklogin--接受rlogin會話鑒證和用kerberos5加密的一種服務
finger--用於應答finger請求的服務
gpm--為文本模式下的linux程序提供了滑鼠的支持。它也支持控制台滑鼠的拷貝,粘帖操作以及彈出式菜單 (必須)
gssftp--接受可被kerberos5驗證的ftp連接
httpd--http是著名的www伺服器,可用來提供html文件以及cgi動態內容服務
identd--提供驗證身份的方法
ipchains--ipchains包過濾防火牆
iptables--iptables包過濾防火牆
ipvsadm--調用ipvsadm來建立和維護ipvs路由選擇表
isdn--啟用isdn(綜合服務數字網)服務
kadmin--更改在主控kdc中使用本機的kadmin工具,或透過kadmin服務來完成
kdcrotate--設置配置文件/etc/krb5.con中的kdcs表項
keytable--該程序的功能是轉載您在/etc/sysconfig/keyboards里說明的鍵盤映射表
klogin--接受bsd方式的rlogin會話,但需要使用kerbeos5驗證
kprop--是否允許kdc接收來的master kdc的升級
krb5-telnet--允許普通的telnet登陸,但也可使用kerberos5驗證
krb524--是以改變kerberos5到kerberosIV的賃證
krb5kdc--開啟kerberosIV和5所需的連接以獲得賃證
kshell--接受rshell命令鑒證和用kerberos加密的服務
kudzu--運行硬體檢測,並可選擇性地設置硬體變化
lpd--lpd是系統列印守護程序,負責將lpr等程序提交給列印作業
netfs--負責裝載/卸載nfs、samba、ncp文件系統
network--激活/關閉啟動時的各個網路介面 (必須)
nfs--nfs是一個流行的基於tcp/ip網路的文件共享協議.該服務提供了nfs文件共享服務
nfslock--提供nfs文件上鎖功能
nscd--該服務負責密碼和組的查詢,並且緩沖查詢結果
portmap--portmap用來支持rpc連接,rpc被用於nfs以及nis等服務
postgresql--postgresql關系資料庫引擎
random--保存和恢復系統的高質量隨機數生成器,這些隨機數是系統一些隨機行為提供的
rlogin--rlogin程序服務,提供來自遠程信任主機的注冊功能
routed--該守護程序支持rip協議的自動ip路由表維護.rip主要使用在小型網路上,大一點的網路就需要復雜一點的協議
rsh--提供rcmd程序或者rsh程序的服務
rstatd--rstat協議允許網路上的用戶獲得同一網路上各機器的性能參數
rsync--對ftp服務的一個很好的附加,允許循環碼求和校驗等
rusersd--該服務使網路用戶可以定位同一網路上的其他用戶
rwalld--rwall協議允許遠程用戶向在同一系統中活躍著的終端發送消息,類似wall的本地行為
rwhod--允許遠程用戶獲得運行rwho精靈的機器上所有已登錄用戶的列表,與finger類似
smb--啟動和關閉smbd和nmbd精靈程序以提供smb網路服務
snortd--一個輕量級的網路入侵檢測工具
swat--samba網路配置工具,可以通過流覽器的901埠連接使用swat
syslog--syslog是操作系統提供一種機制,守護程序通常使用這些機制將各種信息寫到各個系統日誌文件 (必須)
telnet--提供telnet服務,使用未加密的用戶/密碼組進行驗證
time--tcp版本的rfc 868 time server
time-udp--udp版本的rfc 868 time server
webmin--webmin是基於web的集系統管理與網路管理於一身的強大管理工具
xfs--在引導和關閉時啟動和停上x字體服務,並可能重新生成字體表 (必須)
xinetd--網際網路操作服務程序。提供類似於inetd+tcp_wrapper的功能,但是更加強大和安全,監控網路對各種它管理的服務的需求,並在要的時候啟動相應的服務程序
ypbind--實現網路信息服務的伺服器端
redhat 下常用服務介紹
anacron 不考慮系統downtime期間的cron服務
amd 自動安裝NFS守候進程
apmd 高級電源管理
arpwatch 記錄日誌並構建一個在LAN介面上看到的乙太網地址和IP地址對資料庫
atd 用於at和batch的服務
autofs 自動安裝管理進程automount,與NFS相關,依賴於NIS
crond 為Linux下自動安排的進程提供運行服務.
Gpm 提供字元模式下對滑鼠的支持.
Keytable 用於裝載鍵盤鏡像
Kudzu 硬體探測器
Netfs 安裝和卸載NFS、SAMBA和NETWARE網路文件系統
Network 激活已配置網路介面的腳本程序
Nfslock NFS鎖定
Pcmcia 安裝pcmcia卡(一般用於筆記本電腦)
Sshd OpenSSH伺服器
Syslog 一個讓系統引導時啟動syslog和klogd系統日誌守候里程的腳本
Xfs Xwindow字型伺服器,為本地和遠程X伺服器提供字型集
Xinetd 支持多種網路服務的核心守候程序。