Как запустить приложение из rc.lua от awesome, если оно еще не запущено

332
Rovanion

Задача относительно проста. Если есть процесс с xисполняемым двоичным файлом, не запускайте другую копию.

0

2 ответа на вопрос

1
Emmanuel Lepage Vallee

Начиная с AwesomeWM v4.3, также есть raise_or_spawn

https://awesomewm.org/apidoc/libraries/awful.spawn.html#raise_or_spawn

0
Rovanion

Вы можете использовать следующую функцию, которая асинхронно проверяет, запущен ли процесс, и запускает его, если это не так:

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