在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)

 

参考资料:

https://esmithy.net/2015/05/05/rundebug-as-root-in-pycharm/

posted @ 2018-03-25 16:42  wangxiaotao  阅读(13862)  评论(0编辑  收藏  举报