首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

请教班里的大婶们, Windows 平台下如何获取正在运行的 Python 脚本名

  •  
  •   iamsunxin · 62 天前 · 1126 次点击
    这是一个创建于 62 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这几日在对公司的 windows 服务器做运维。。。。。。Linux 下跑的 python 脚本可以 ps 出来脚本名,服务挂了可以写个监控脚本拉起来。但是,windows 下服务脚本挂了,我的一种方法是在系统资源中查找对应脚本是否挂了,这个方法不知道有没有大婶试过,第二种就比较骚气了,把所有的服务打包成 exe,这样在系统资源中就能找到对应的 exe 名字。求轻喷。。。
    14 回复  |  直到 2019-03-19 17:18:11 +08:00
        1
    wevsty   62 天前   ♥ 1
    任务栏管理器进程选项卡—》表头右键选择列—》勾上命令行
    就可以看到 python 的启动参数了。

    要用代码解决的话那就自己调 API
    ZwQueryInformationProcess + ReadProcessMemory
    例子自己搜搜就是了。
        2
    UnknownR   62 天前
    Get-Process -Name [Process Name] | select Path
        3
    xuyl   62 天前
    如果你是用 python script.py 这种方式运行脚本,脚本名 sys.argv[0]
        4
    iamsunxin   62 天前
    @UnknownR 这个是 API,还是?
        5
    liu19931020   62 天前
    powershell 一样有 Get-Process,alias 就是 ps
        6
    DAPTX4869   62 天前
    之前在服务器直接用定时任务 kill 再重启的。。。不管服务有没有出问题
    不知道定时任务有没有判断程序存在的服务。。。。
        7
    CallMeReznov   62 天前 via Android
    有 zabbix 啊
    写个规则自动监控
    挂了自动拉取


    完全傻瓜
        8
    UnknownR   62 天前
    @iamsunxin
    get-process 是 powershell 的命令,也就是 linux 下的 ps,-Name 参数就是筛选出你想要查的 process 的名称,管道后是 select 语句,选择的‘ Path ’ 参数就是 taskmgr 图形界面里的 command line - 命令行 参数,也就是你这个 process 是运行的哪个程序、脚本,其具体值是程序、脚本的绝对路径
        9
    iamsunxin   61 天前
    @wevsty ZwQueryInformationProcess + ReadProcessMemory 这是 DELPHI 的东西啊,还需要用 Python 调用 DELPHI 的 API 么
        10
    iamsunxin   61 天前
    @UnknownR many 3ks
        11
    iamsunxin   61 天前
        12
    iamsunxin   61 天前
    @CallMeReznov 我想用脚本来完成这个功能,感谢科普。。。
        13
    iamsunxin   61 天前
    @UnknownR powershell 中 get-process 没有 commandline 属性,找了下度娘---通过 wmi 命令查询,( get-wmiobject -query "select * from win32_process).commandline 可以获得对应的 python 脚本名
        14
    UnknownR   61 天前
    @iamsunxin get-process 下叫 Path
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2441 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 13:00 · PVG 21:00 · LAX 06:00 · JFK 09:00
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1