⑴ linux shell until do 循環數次後,中止循環
自己加個計數器唄。
#!/bin/bash
read-p"pleaseinputanumber:"n1
re='^[0-9]+$'
count=1
until[[$n1=~$re]]||[[$count==5]]
do
letcount+=1
echo"$n1iswrongnumber,pleasetryagain."
read-p"pleaseinputanumber:"n1
done
echo"thenumberis$n1."
⑵ 求linux腳本思路,跳出循環問題
我的想法是這樣的,
你應該有一腳本執行你上面寫的循環,
然後有另一人腳本負責啟動停止.
啟動時把第一個腳本執行起來就可以了.
停止時,查找第一個腳本的PID
然後KILL掉就可以了.
⑶ Linux下如何強制中斷一個程序的執行(利用按鍵,而不是kill命令)
Linux下強制中斷一個程序的執行使用鍵盤按鍵可以有多種方法。
1、CTRL+C鍵,這相當於發送Terminal信息到當前的程序。比如下圖,在通過find命令查找名稱帶3b76的文件,可以直接按ctrl+c鍵結束掉循環。
⑷ linux系統中周期性計劃任務執行了shell死循環腳本,要怎麼停止腳本
ps找到腳本進程
kill掉
⑸ Linux系統定時任務時shell腳本停止執行如何解決
linux下使用crontab命令被用來提交和管理用戶的需要周期性執行的任務,示例如下:
crontab
-e
編輯周期任務
30
21
*
*
*
/etc/init.d/smb
restart
每晚的21:30重啟smb
crontab命令說明:
crontab命令被用來提交和管理用戶的需要周期性執行的任務,與windows下的計劃任務類似,當安裝完成操作系統後,默認會安裝此服務工具,並且會自動啟動crond進程,crond進程每分鍾會定期檢查是否有要執行的任務,如果有要執行的任務,則自動執行該任務。
語法
crontab(選項)(參數)
選項
-e:編輯該用戶的計時器設置;
-l:列出該用戶的計時器設置;
-r:刪除該用戶的計時器設置;
-u<用戶名稱>:指定要設定計時器的用戶名稱。
參數
crontab文件:指定包含待執行任務的crontab文件。
知識擴展
linux下的任務調度分為兩類:系統任務調度和用戶任務調度。
系統任務調度:系統周期性所要執行的工作,比如寫緩存數據到硬碟、日誌清理等。在/etc目錄下有一個crontab文件,這個就是系統任務調度的配置文件。
crontab文件的含義:
用戶所建立的crontab文件中,每一行都代表一項任務,每行的每個欄位代表一項設置,它的格式共分為六個欄位,前五段是時間設定段,第六段是要執行的命令段,格式如下:
minute
hour
day
month
week
command
順序:分
時
日
月
周
其中:
minute:
表示分鍾,可以是從0到59之間的任何整數。
hour:表示小時,可以是從0到23之間的任何整數。
day:表示日期,可以是從1到31之間的任何整數。
month:表示月份,可以是從1到12之間的任何整數。
week:表示星期幾,可以是從0到7之間的任何整數,這里的0或7代表星期日。
command:要執行的命令,可以是系統命令,也可以是自己編寫的腳本文件。
在以上各個欄位中,還可以使用以下特殊字元:
星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。
逗號(,):可以用逗號隔開的值指定一個列表范圍,例如,「1,2,5,7,8,9」
中杠(-):可以用整數之間的中杠表示一個整數范圍,例如「2-6」表示「2,3,4,5,6」
正斜線(/):可以用正斜線指定時間的間隔頻率,例如「0-23/2」表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鍾執行一次。
⑹ linux中關閉會話後正在執行的腳本會中斷嗎
會 除非你用 nohup 命令,並且後台運行。
然後用exit命令退出登錄。直接關閉窗口有可能出問題。
⑺ linux循環睡眠等待中斷怎麼實現
Linux 中的進程睡眠狀態有兩種:一種是可中斷的睡眠狀態,其狀態標志位為TASK_INTERRUPTIBLE;另一種是不可中斷的睡眠狀態,其狀態標志位為TASK_UNINTERRUPTIBLE。
可中斷的睡眠狀態的進程會睡眠直到某個條件變為真,如產生一個硬體中斷、釋放進程正在等待的系統資源或是傳遞一個信號都可以是喚醒進程的條件。
不可中斷睡眠狀態與可中斷睡眠狀態類似,但是它有一個例外,那就是把信號傳遞到這種睡眠狀態的進程不能改變它的狀態,也就是說它不響應信號的喚醒。