#include #include #include #include // Very hackish. Will do for now. Result luna_main(int argc, char** argv) { os::ArgumentParser parser; parser.add_description("Log out of a GUI session."); parser.add_system_program_info("logout"_sv); parser.parse(argc, argv); pid_t last = pstat(-1, nullptr); for (pid_t pid = 1; pid <= last; pid++) { static process ps; if (pstat(pid, &ps) < 0) { if (errno == ESRCH) continue; return err(errno); } if (strstr(ps.ps_name, "/usr/bin/launch")) { kill(ps.ps_pid, SIGTERM); } } return 0; }