禁用每次开机启动的Python进程

Ubuntu系统遇到个问题,每次开机有个python进程(使用ps查到“pt_main_thread”)占用1.5GB显存,下面是查找这个进程的方法

查找工作目录

pt_main_thread 可能是某个特定 Python 应用程序或服务的主线程,要禁用这个进程的开机启动,可以进一步排查启动项和服务配置。以下是更详细的步骤:

  1. 获取进程 ID (PID)
    如果你已经知道进程 ID,可以直接使用它。如果不知道,可以用以下命令查找:

    1
    ps aux | grep pt_main_thread
  2. 通过 PID 获取执行文件路径
    使用以下命令查看该进程的执行文件路径:

    1
    ls -l /proc/<PID>/exe

    <PID> 替换为实际的进程 ID。该命令将返回指向执行文件的符号链接。

  3. 查找进程启动命令和工作目录
    使用以下命令查看进程的启动命令和工作目录:

    1
    2
    cat /proc/<PID>/cmdline
    cat /proc/<PID>/cwd

    cmdline 文件包含了进程的启动命令cwd 文件包含了进程的当前工作目录。

通过以上步骤,可以确定 pt_main_thread 进程对应的执行文件和启动命令,从而更好地排查其启动来源并进行禁用或删除操作。


进入应用目录

首先,进入该进程的工作目录,查看其中的内容:

1
2
cd /proc/2632/cwd
ls -la

结合前面的cat /proc/<PID>/cmdline应该就能确定是哪个程序执行的

查找启动脚本或服务

  1. 检查 systemd 服务
    进入应用目录后,检查是否有 systemd 服务文件或者启动脚本。

    1
    2
    cd /etc/systemd/system
    ls -la | grep -i app

    如果找到相关服务文件,可以禁用它:

    1
    sudo systemctl disable <service_name>
  2. 检查 rc.local 文件
    查看 /etc/rc.local 文件,看是否有启动该 Python 脚本的命令:

    1
    sudo nano /etc/rc.local

    如果有相关命令,将其注释或删除。

  3. 检查 crontab
    查看是否有与该 Python 脚本相关的 cron 任务:

    • 用户 crontab:

      1
      crontab -e
    • 系统级别的 crontab:

      1
      sudo crontab -e

    查找并删除与该 Python 脚本相关的启动条目。

  4. 检查用户启动项
    检查 ~/.config/autostart 目录,看是否有与该 Python 脚本相关的启动项文件。如果有,将其删除:

    1
    ls ~/.config/autostart