@@ -38,6 +38,7 @@ static pid_t getShellInfo(FFShellResult* result, pid_t pid)
38
38
//Common programs that are between terminal and own process, but are not the shell
39
39
if (
40
40
// tty < 0 || //A shell should connect to a tty
41
+ pid == 1 || // init/systemd
41
42
ffStrbufEqualS (& result -> processName , "sh" ) || //This prevents us from detecting things like pipes and redirects, i hope nobody uses plain `sh` as shell
42
43
ffStrbufEqualS (& result -> processName , "sudo" ) ||
43
44
ffStrbufEqualS (& result -> processName , "su" ) ||
@@ -85,6 +86,7 @@ static pid_t getTerminalInfo(FFTerminalResult* result, pid_t pid)
85
86
{
86
87
//Known shells
87
88
if (
89
+ pid == 1 || // init/systemd
88
90
ffStrbufEqualS (& result -> processName , "sudo" ) ||
89
91
ffStrbufEqualS (& result -> processName , "su" ) ||
90
92
ffStrbufEqualS (& result -> processName , "sh" ) ||
@@ -109,8 +111,6 @@ static pid_t getTerminalInfo(FFTerminalResult* result, pid_t pid)
109
111
ffStrbufEqualS (& result -> processName , "chezmoi" ) || // #762
110
112
ffStrbufEqualS (& result -> processName , "proot" ) ||
111
113
ffStrbufEqualS (& result -> processName , "script" ) ||
112
- ffStrbufEqualS (& result -> processName , "init" ) ||
113
- ffStrbufEqualS (& result -> processName , "systemd" ) ||
114
114
#ifdef __linux__
115
115
ffStrbufStartsWithS (& result -> processName , "flatpak-" ) || // #707
116
116
#endif
0 commit comments