在pycharm中以管理员身份运行/调试脚本(How to run / debug programs as root in Pycharm)
如果想要在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)
参考资料: