program endprocessmonitor;

{
    Monitoring of end given process and play sound signal at end.
    For GNU/Linux 64 bit version.
    Version: 1.
    Written on FreePascal (https://freepascal.org/).
    Copyright (C) 2026 Artyomov Alexander
    http://self-made-free.ru/
    aralni@mail.ru

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Affero General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Affero General Public License for more details.

    You should have received a copy of the GNU Affero General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
}

{$linklib c}

uses sysutils,unix;

var
c:Int64=0;
begin

if ParamCount < 1 then begin
WriteLn('Use: ',ExtractFileName(ParamStr(0)),' PID');
Halt;
end;

while true do begin

if fpSystem('ps -p '+ParamStr(1)+' > /dev/null') <> 0 then begin
WriteLn('-=[ Process completed ]=-');
fpSystem('gorg64_spkplay ~/.gorg64/music/Record.speaker');
Halt;
end;

Inc(c);
WriteLn(c);
Sleep(10000);
end;

end.