История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
Ну, единственное что стопорит остановку скрипта это музыка если уж она заиграла, можно грохнуть mpv
тут
#! /bin/env lua
local signal_file_name = '.coffee'
local signal_file = os.getenv('HOME')..'/'..signal_file_name;
local file = io.open(signal_file);
if(file) then
local stat = file:read('*all');
file:close();
if stat == 'working' then
file = io.open(signal_file,'w');
file:write('stop');
-- когда скрипт уже запущен есть веростность
-- что играет музыка, если мы нажимает кнопку второй раз
-- значит мы завершаем текущий скрипт
-- и если играет музыка она грохается
-- сразу после этого завешиться qdialog через сигнал ему через
-- dbus, а потом после ещё 1 итерации завершится скрипт
os.execute("killall mpv"); -- тут грохнуь mpv который вешает скрипт
-- ведь завершая текущий скрипт мы просто делаем запись сигнала
-- ему вот тут и выходим сразу же.
return 0;
else
...
А остальное вернуть как было, скрипт сам себе посылает stop
и на новой итерации (через 1 секунду сам завершается), до этого qdialog должен завешится корректно, ты вроде писал что всё нормально, кроме звука музыки.
Ну ты уж делай правки под себя как тебе удобнее, я со своей колокольни всех случаев использования не предугадаю. =) Скрипты то домашние, главное что-бы работало, а как в целом по барабану, не продакшон чай ::) Экспериментируй, сам не заметишь начтёшь строчить под себя 100+ строк луашного кода на всякое разное
Исправление LINUX-ORG-RU, :
Ну, единственное что стопорит остановку скрипта это музыка если уж она заиграла, можно грохнуть mpv
тут
#! /bin/env lua
local signal_file_name = '.coffee'
local signal_file = os.getenv('HOME')..'/'..signal_file_name;
local file = io.open(signal_file);
if(file) then
local stat = file:read('*all');
file:close();
if stat == 'working' then
file = io.open(signal_file,'w');
file:write('stop');
-- когда скрипт уже запущен есть веростность
-- что играет музыка, если мы нажимает кнопку второй раз
-- значит мы завершаем текущий скрипт
-- и если играет музыка она грохается
-- сразу после этого завешиться qdialog через сигнал ему через
-- dbus, а потом после ещё 1 итерации завершится скрипт
os.execute("killall mpv"); -- тут грохнуь mpv который вешает скрипт
-- ведь завершая текущий скрипт мы просто делаем запись сигнала
-- ему вот тут и выходим сразу же.
return 0;
else
...
А остальное вернуть как было, скрипт сам себе посылает stop
и на новой итерации (через 1 секунду сам завершается), до этого qdialog должен завешится корректно, ты вроде писал что всё нормально, кроме звука музыки.
Ну ты уж делай правки под себя как тебе удобнее, я со своей колокольни всех случаев использования не предугадаю. =) Скрипты то домашние, главное что-бы работало, а как в целом по барабану, не продакшон чай ::)
Исходная версия LINUX-ORG-RU, :
Ну, единственное что стопорит остановку скрипта это музыка если уж она заиграла, можно грохнуть mpv
тут
#! /bin/env lua
local signal_file_name = '.coffee'
local signal_file = os.getenv('HOME')..'/'..signal_file_name;
local file = io.open(signal_file);
if(file) then
local stat = file:read('*all');
file:close();
if stat == 'working' then
file = io.open(signal_file,'w');
file:write('stop');
-- когда скрипт уже запущен есть веростность
-- что играет музыка, если мы нажимает кнопку второй раз
-- значит мы завершаем текущий скрипт
-- и если играет музыка она грохается
-- сразу после этого завешиться qdialog через сигнал ему через
-- dbus, а потом после ещё 1 итерации завершится скрипт
os.execute("killall mpv"); -- тут грохнуь mpv который вешает скрипт
-- ведь завершая текущий скрипт мы просто делаем запись сигнала
-- ему вот тут и выходим сразу же.
return 0;
else
...
А остальное вернуть как было, скрипт сам себе посылает stop
и на новой итерации (через 1 секунду сам завершается), до этого qdialog должен завешится корректно, ты вроде писал что всё нормально, кроме звука музыки.