• 技术文章 >常见问题 >Python常见问题

    python3怎么判断进程是否存在

    silencementsilencement2020-02-05 10:45:36原创4068

    通过进程名判断

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    import psutil

      

    def judgeprocess(processname):

        pl = psutil.pids()

        for pid in pl:

            if psutil.Process(pid).name() == processname:

                print(pid)

                break

        else:

            print("not found")

             

    if judgeprocess('notepad++.exe') == 0:

        print('success')

    else:

        pass

    通过进程ID判断

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    import errno

    import os

    import sys

      

      

      

    def pid_exists(pid):

        """Check whether pid exists in the current process table.

        UNIX only.

        """

        if pid < 0:

            return False

        if pid == 0:

            # According to "man 2 kill" PID 0 refers to every process

            # in the process group of the calling process.

            # On certain systems 0 is a valid PID but we have no way

            # to know that in a portable fashion.

            raise ValueError('invalid PID 0')

        try:

            os.kill(pid, 0)

        except OSError as err:

            if err.errno == errno.ESRCH:

                # ESRCH == No such process

                return False

            elif err.errno == errno.EPERM:

                # EPERM clearly means there's a process to deny access to

                return True

            else:

                # According to "man 2 kill" possible error values are

                # (EINVAL, EPERM, ESRCH)

                raise

        else:

            return True

    推荐学习《Python教程》!

    专题推荐:进程
    上一篇:python3怎么看编码形式 下一篇:vs怎么写python代码

    相关文章推荐

    • Python fork方法:创建新进程• python 如何结束进程

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网