我使用命令從控制檯(Ubuntu 14.04)調用python腳本(2.7):python script_name.py。在某些時候,我想通過按Ctrl-C來停止正在運行的腳本。但是,當我檢查Ubuntu系統監視器時,python腳本使用的內存沒有被釋放(我在調用腳本之前監視了Ubuntu系統監視器,在此過程中以及按Ctrl-C停止腳本之後)。我嘗試使用在http://www.upubuntu.com/2013/01/how-to-free-up-unused-memory-in.html上解釋的命令釋放內存,但沒有奏效(我的意思是內存使用沒有改變)。一旦python腳本從終端(Ctrl-C)停止,如何釋放Ubuntu內存?
但是,如果我使用pycharm來運行並停止腳本,一旦按下「停止」按鈕,內存就會直接釋放。出於某些原因(例如從ssh或僅僅從控制檯進行測試),我想從控制檯運行我的腳本(不使用pycharm或任何其他IDE)。
我的問題是,如果我從控制檯運行腳本,命令是什麼,或者如何停止運行python腳本並直接釋放腳本使用的內存?
非常感謝提前。
Python是用C寫的SIGTERM的過程如果解釋爲仍然在運行,那麼這可能是相關的:[malloc實現是否將釋放的內存返回給系統?](https://stackoverflow.com/q/2215259/608639)PyCharm的架構可能有點不同,並且可能fork自己的副本來運行最終退出的腳本。 – jww
謝謝,但我正在尋找Unix/Linux命令來終止進程並直接釋放內存。但是你的意見也很有趣!謝謝! – Eduard
哪個過程?你還沒有詳細說明。也許答案在[如何查看正在運行的進程?](https://unix.stackexchange.com/q/3340/56041)或[如何殺死在特定腳本中運行的進程](https://unix.stackexchange.com/q/151099/56041)來自[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)。 – jww