Linux終端執(zhí)行shell腳本,提示權限不夠的問題及解決
Linux終端執(zhí)行shell腳本,提示權限不夠
今天在Linux嘗試搭建dynamips的工作環(huán)境
在執(zhí)行shell腳本時遇到個小問題
有一個名為start.sh的腳本文件
內容如下:
#!/bin/bash ./dynamips.bin -H 7200 &
在終端執(zhí)行shell腳本后
出現(xiàn)問題如下:
[root]# ./start.sh bash: ./start.sh: 權限不夠
解決方法
是先使用chmod命令對shell腳本賦予權限
再執(zhí)行
[root]# chmod 777 ./start.sh [root]# ./start.sh
讓你的shell在后臺運行
pc幫助我們搬磚,總不能傻傻的等在terminal等著跑完吧。萬一terminal
讓進程后臺運行
使用&可以讓程序后臺運行,比如我
for i in {1..10000}; do echo $i; sleep 1; done &

已經(jīng)后臺執(zhí)行,我用ctrl+c也無法打斷,因為進程已經(jīng)在后臺跑了
jobs查看當前終端后臺運行
jobs只查詢當前終端的運行程序
輸出重定向
由于輸入沒有重定向,所以還是輸出到當前的終端。
重定向輸出到文件中。
for i in {1..10000}; do echo $i; sleep 1; done > my.log &這樣就不會在控制臺輸出唄干擾了
讓進程不依賴當前shell運行
由于此后臺運行的程序依賴當前shell,當我退出的時候,程序也推出了

都是由2666966這個進程帶起來的
通過disown命令,把進程用不依賴當前terminal。
disown后,jobs已經(jīng)是空的

nohub運行, nohup 和 & 的區(qū)別
為了避免我每次都到輸入disown,如果能讓進程啟動時,就不跟隨系統(tǒng),可以使用nohub
nohup bash -c 'for i in {1..10000}; do echo $i; sleep 1; done ' > my.log 2>&1 &這樣運行的程序默認就是不依賴當前terminal的。
nohub: 應用程序不再和terminal關聯(lián),默認不會后臺運行&:后臺運行
后臺運行程序再次接入
在后臺運行的程序,有時候想重新接入前臺,使用fg(Foreground),可以拉起,但必須jobs是以看到進程的。
stopped程序重新喚醒
jobs可以看到的進程,使用bg重新拉起來
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
centos6.5配置ssh免秘鑰登陸執(zhí)行pssh命令的講解
今天小編就為大家分享一篇關于centos6.5配置ssh免秘鑰登陸執(zhí)行pssh命令的講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02
Linux中出現(xiàn)“No space left on device”錯誤的排查與解決方法
這篇文章主要給大家介紹了關于在Linux中出現(xiàn)"No space left on device"錯誤的排查與解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-09-09
詳解在Ubuntu上的Apache配置SSL(https證書)的正確姿勢
這篇文章主要介紹了詳解在Ubuntu上的Apache配置SSL(https證書)的正確姿勢,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12

