python讓程序暫停
㈠ shell 下運行python 命令有什麼辦法暫停
一個處於執行過程中的前台程序可以使用組合鍵 CTRL + Z 暫停運行並回到 SHELL 提示符 ...
恢復的時候 ... 如果讓程序在後台運行使用命令 bg ... 搬回前台運行使用命令 fg ...
在同時處理多個任務的時候 ... jobs 命令可以查看任務的編號 ...
bg 和 fg 命令可以自由控制把哪個任務搬到前台哪個任務留在後台 ...
另外順便一提 ... 暫停一個後台任務不一定要將其搬回前台再用組合鍵 ...
kill -STOP 命令可以直接暫停一個後台任務 ...
kill -CONT 命令可以直接恢復一個後台任務 ...
提到的這幾個命令你都可以用 man 命令自己看一下詳細說明 ...
其實吧 ... 不止是 Python ... 從 SHELL 啟動的一般進程任務都可以用上面這種方法控制 ...
在你提到的場景里 ... Python 不過只是一個在前台運行的程序罷了
㈡ 怎樣手動停止python程序運行
如果你是在程序中讓其自動退出,則可以使用:
exit()
執行到此命令時,程序終止。
如果是程序陷入死循環,想強制結束,則按Ctrl + C。
㈢ Python如何停止程序運行的語句,執行到某句就停止運行以下程序
開始運行的時候記錄一個當前時間 然後執行的時候 每次循環都檢測一下當前時間和開始的那個時間的差距 大於30秒就執行System.exit(0);
㈣ python 中有沒有辦法讓程序在執行時停下一小段時間
Python 使用time模塊可以讓程序休眠,具體方法是time.sleep(秒數),其中「秒數」以秒為單位,可以是小數
㈤ python程序中如何使程序執行到某處暫停5秒中再繼續執行呢,應使用什麼語句呢
importtime
print1
time.sleep(5)
print2
如果解決了您的問題請點贊!
如果未解決請繼續追問
㈥ python運行的程序怎麼停止
如果在linux運行,就跟普通程序一樣就行,查找pid,然後使用kill。
如果實在windows,ctrl + alt + delete,打開任務管理器,查找進程,然後結束掉就可以了。
㈦ Python中如何在一段時間後停止程序
用到threading的Timer,也類似單片機那樣子,在中斷程序中再重置定時器,設置中斷,python實例代碼如下:
import threading
import time
def change_user():
print('這是中斷,切換賬號')
t = threading.Timer(3, change_user)
t.start()
#每過3秒切換一次賬號
t = threading.Timer(3, change_user)
t.start()
while True:
print('我在爬數據')
time.sleep(1)
(7)python讓程序暫停擴展閱讀
有時當一個條件成立的情況下,需要終止程序,可以使用sys.exit()退出程序。sys.exit()會引發一個異常:
1、如果這個異常沒有被捕獲,那麼python編譯器將會退出,後面的程序將不會執行。
2、如果這個異常被捕獲(try...except...finally),捕獲這個異常可以做一些額外的清理工作,後面的程序還會繼續執行。
註:0為正常退出,其他數值(1-127)為不正常,可拋異常事件供捕獲。另一種終止程序的方法os._exit()
一般情況下使用sys.exit()即可,一般在fork出來的子進程中使用os._exit()
採用sys.exit(0)正常終止程序,程序終止後shell運行不受影響。
採用os._exit(0)關閉整個shell,調用sys._exit(0)後整個shell都重啟了(RESTART Shell)。
㈧ python怎麼讓進程暫停
您的意思是要將進程掛起(Suspend) 而非 阻塞(Block)
如果用sleep() 進程將阻塞
假設進程下有兩個線程 那麼這兩個線程會繼續運行
要使進程掛起 可以考慮使用psutil
import psutil
p = psutil.Process(pid)
p.suspend() #掛起進程
p.resume() #恢復進程
為了證明效果 我寫了一個簡單的進程Process
其下有兩個線程 讀者Reader 和 寫者Writer(簡單的讀者寫者問題)
Process:
import threading
from time import ctime, sleep
import ThreadInReadAndWriteProblem
import multiprocessing
import os
class Process(multiprocessing.Process):
def __init__(self):
multiprocessing.Process.__init__(self) #手動實現父類
pid = os.getpid()
def run(self):
print '當前運行進程PID : %s ' %self.pid #子線程的id與父進程的pid相同 屬於 同一個進程
for i in range(0,5):
r = ThreadInReadAndWriteProblem.Reader()
w = ThreadInReadAndWriteProblem.Writer()
w.start()
r.start()
print '進程阻塞'
sleep(10) #總共運行時間10秒
Reader&Writer
import threading
from time import ctime, sleep
import os
mutex = threading.Lock() #互斥鎖
mutex_readercount = threading.Lock() #計數時的互斥 計算當前正在讀的數目
readerCount = 0 number = 0
#不滿足條件的 進入阻塞狀態
class Reader(threading.Thread): #讀者
def __init__(self):
threading.Thread.__init__(self) #繼承父類構造函數
def run(self):
global mutex
global readerCount
#print '線程PID: %s ' %os.getpid()
while True:
mutex_readercount.acquire()
readerCount +=1
if readerCount == 1:
print '讀者進程等待中,編號%s' %(self.name)
mutex.acquire() == False # 第一個需要申請
mutex_readercount.release()
print '開始讀 , 讀者編號 %s ,現在時間是 %s' %(self.name,ctime())
sleep(2)
print '完成讀 , 讀者編號 %s , 現在時間是 %s' %(self.name,ctime())
mutex_readercount.acquire()
readerCount -= 1
if readerCount == 0: #所有讀者均完成
print '最後一個讀者完成讀 '
mutex.release()
mutex_readercount.release()
class Writer(threading.Thread): #寫者
def __init__(self):
threading.Thread.__init__(self)
def run(self):
global mutex
global writerCount
#print '線程PID: %s' %os.getpid()
while True:
print '寫者進程等待中 編號: %s' %(self.name)
mutex.acquire()
print '開始寫 編號:%s 現在時間是: %s ' %(self.name,ctime())
sleep(5)
print '結束寫 編號: %s 現在時間是 %s' %(self.name,ctime())
mutex.release()
測試程序
import ThreadInReadAndWriteProblem
import
import psutil
import Scheler
from time import ctime, sleep
def main():
p = .Process()
p.start()
sleep(3)
stop(p.pid)
print '進程掛起 %s' %ctime()
sleep(5)
wake(p.pid)
print '喚醒進程 %s' %ctime()
def stop(pid):
print '進程暫停 進程編號 %s ' %(pid)
p = psutil.Process(pid)
p.suspend()
def wake(pid):
print '進程恢復 進程編號 %s ' %(pid)
p = psutil.Process(pid)
p.resume()
if __name__ == '__main__':
main()
結果:
當前運行進程PID : 3096
寫者進程等待中 編號: Thread-2
開始寫 編號:Thread-2 現在時間是: Mon Nov 30 21:12:12 2015
讀者進程等待中,編號Thread-1
寫者進程等待中 編號: Thread-4
進程阻塞
寫者進程等待中 編號: Thread-6
寫者進程等待中 編號: Thread-8
寫者進程等待中 編號: Thread-10
進程暫停 進程編號 3096
進程掛起 Mon Nov 30 21:12:15 2015
進程恢復 進程編號 3096
喚醒進程 Mon Nov 30 21:12:20 2015
結束寫 編號: Thread-2 現在時間是 Mon Nov 30 21:12:20 2015
寫者進程等待中 編號: Thread-2
開始讀 , 讀者編號 Thread-1 ,現在時間是 Mon Nov 30 21:12:20 2015
開始讀 , 讀者編號 Thread-3 ,現在時間是 Mon Nov 30 21:12:20 2015
開始讀 , 讀者編號 Thread-5 ,現在時間是 Mon Nov 30 21:12:20 2015
開始讀 , 讀者編號 Thread-7 ,現在時間是 Mon Nov 30 21:12:20 2015
開始讀 , 讀者編號 Thread-9 ,現在時間是 Mon Nov 30 21:12:20 2015
完成讀 , 讀者編號 Thread-1 , 現在時間是 Mon Nov 30 21:12:22 2015
完成讀 , 讀者編號 Thread-3 , 現在時間是 Mon Nov 30 21:12:22 2015
完成讀 , 讀者編號 Thread-5 , 現在時間是 Mon Nov 30 21:12:22 2015
完成讀 , 讀者編號 Thread-7 , 現在時間是 Mon Nov 30 21:12:22 2015
㈨ python怎樣讓這段程序輸入任意一個鍵停止循環
我只寫一個函數:
>>> def littleFunc():
data =[] #初始化列表
for i in range(9):#一個for循環
num = int(raw_input("input a number please: "))#控制輸入轉為int
data.append(num)#放入列表
data.sort()#排序
print data#輸出
python的程序擴展名是.py
程序執行結果:
>>> littleFunc()
input a number please: 1
input a number please: 3
input a number please: 5
input a number please: 7
input a number please: 8
input a number please: 4
input a number please: 9
input a number please: 6
input a number please: 2
[1, 2, 3, 4, 5, 6, 7, 8, 9]