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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
CentOS7.2安裝MySql5.7并開啟遠程連接授權的教程
這篇文章主要介紹了CentOS7.2安裝MySql5.7并開啟遠程連接授權的教程,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07
Linux環(huán)境宿主機進入Docker容器實現(xiàn)過程
文章介紹了如何在Linux宿主機中進入Docker容器,并提供了進入MySQL容器的示例命令,還介紹了如何在Docker和宿主機之間復制文件2025-10-10
Linux使用System?V實現(xiàn)內存共享的最佳實踐
System?V的共享內存是Unix操作系統(tǒng)中一種進程間通信機制,它允許不同的進程通過共享一塊物理內存區(qū)域來交換數(shù)據(jù),共享內存提供了高效的進程間通信方式,因為進程可以直接讀寫共享區(qū)域,本文給大家介紹了在Linux上實現(xiàn)內存共享的最佳實踐,需要的朋友可以參考下2025-07-07
Linux系統(tǒng)中的/etc/hosts文件使用說明
/etc/hosts是Linux系統(tǒng)用于IP與主機名映射的配置文件,支持本地解析、開發(fā)測試和網(wǎng)絡安全,127.0.0.1用于本地測試,127.0.1.1在Debian/Ubuntu中映射FQDN,兩者均為回環(huán)地址2025-09-09
Windows與Linux環(huán)境下的高性能負載均衡教程
這篇文章主要介紹了Windows與Linux環(huán)境下的高性能負載均衡教程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05

