是什么导致进程在启动时启动?

伦西

我有一个问题:

不久前,我安装了一个名为的软件wii-u-gc-adapter,当我运行它时,可以将GameCube控制器插入Linux台式计算机以玩游戏。这很好。

我一定在某个时间点已经接受了一些建议,以便在计算机中的某个位置放置一条指令,以便在启动时运行该过程。

之所以提出这个问题,是因为当我关闭计算机时,它挂起了1分30秒,等待此过程结束。

当我./wii-u-gc-adapter自己跑步时,我便手动将其杀死。但是在安装它的某个时候,我告诉我的系统运行它。

该程序在中列出usr/local/bin,这并不令我感到惊讶。

这是我的结尾 $pstree

        ├─whoopsie───2*[{whoopsie}]
        ├─wii-u-gc-adapte───2*[{wii-u-gc-adapte}]
        ├─wpa_supplicant
        └─xdg-permission-───2*[{xdg-permission-}]

htop筛选wii时,我看到以下内容:

htop为wii过滤

当我关闭计算机时,我必须等待一分钟30秒,当我按F2键时,我看到以下消息:

A stop job is running for Wii U Gamecube Adapter

我想清理这个松动的一端。我通常会记录我在修改文件时的操作,但是我不认为我在这里做了,所以我很难找到所做的更改导致该程序在启动时运行。

[这里有些进展-编辑1]

~$ ps j 1045
   PPID     PID    PGID     SID TTY        TPGID STAT   UID   TIME COMMAND
      1    1045    1045    1045 ?             -1 Ssl      0   0:00 /usr/local/bin/wii-u-gc-adapter

因此1045的父进程是PPID 1,即看起来有人告诉systemd启动此进程。我想将这个过程从清单中删除。

[这里有更多进展]

通过转到/ etc并使用ag搜索该文件来找到一个gamecube.service文件。

systemd/system/gamecube.service
2:Description=Wii U Gamecube Adapter
8:ExecStart=/usr/local/bin/wii-u-gc-adapter

我想完全删除此服务。[第三编辑]我在关注这个答案:https : //superuser.com/a/936976

[第四次编辑]按照超级用户的步骤,在发现父进程确实已由ps j系统化之后,现在可以解决此问题。

伦西

解决方案:

  1. 在pstree中查找进程名称
  2. 在htop中查找进程,从那里获取PID
  3. 使用命令~$ ps j [PID]查找父进程的PID
  4. 如果PID为1,则由 systemd
  5. 如果是由systemd启动的,请使用此答案以及您从步骤1和步骤2获得的信息,以从systemd的列表中完全删除启动时要运行的程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章