Начиная с AwesomeWM v4.3, также есть raise_or_spawn
https://awesomewm.org/apidoc/libraries/awful.spawn.html#raise_or_spawn
Задача относительно проста. Если есть процесс с x
исполняемым двоичным файлом, не запускайте другую копию.
Начиная с AwesomeWM v4.3, также есть raise_or_spawn
https://awesomewm.org/apidoc/libraries/awful.spawn.html#raise_or_spawn
Вы можете использовать следующую функцию, которая асинхронно проверяет, запущен ли процесс, и запускает его, если это не так:
function run_if_not_running(program, arguments) awful.spawn.easy_async( "pgrep " .. program, function(stdout, stderr, reason, exit_code) naughty.notify { text = stdout .. exit_code } if exit_code ~= 0 then awful.spawn(program .. " " .. arguments) end end) end