如果想要在pycharm中以root的身份運行python腳本,因為pycharm本身好像沒有這個特性,目前只能通過一些額外的手段來實現。思路就是讓pycharm以root身份執行python編譯器。
這篇文章主要面向linux環境。
具體可以這樣做:
1.建立一個可以以root身份執行python編譯器的腳本,這里命名為python_intepreter_as_root.sh
#!/bin/bash echo 'mypassword' | sudo -S :
sudo -E /usr/bin/python2 "$@"
#用當前用戶的密碼替換mypassword
#sudo -S從管道接收密碼
#:空命令,什么也不做,這一句利用了sudo的特性,只要在第一次使用sudo的時候輸入密碼,5分鍾內都不用再輸入
#-E保留當前用戶的環境變量
#/usr/bin/python2 替換成你要使用的python命令的完整路徑
#“$@”將參數傳遞給python命令
並賦予其可執行權限:
chmod +x python_intepreter_as_root.sh
2.在pycharm的菜單設置(file->settings)項中,設置項目的intepreter為步驟1中建立的文件,這樣就完成了。如果不想整個項目的程序都以管理員身份運行,pycharm中可以為單獨的python腳本設置intepreter,這里不再贅述。
該方法的缺點是無法在pycharm內終止啟動的腳本,因為是以root身份運行的,需要手動終止進程:
ps aux | grep your_script_name | awk '{print $2}'|xargs sudo kill -9
將grep_your_script_name用你的腳本名字替換即可(不要加后綴.py)
參考資料: