Tueur what are you trying to achieve here? The example you give is touch /tmp/newfile.txt' I think you are trying to send a signal to another process. Could this be 'Hey - the job has finished and there is a new file for you to process' If that is so, there may be better ways to do this. If you have a post-processing step, then you can submit a job whihc depends on the main job. https://hpc.nih.gov/docs/job_dependencies.html
On 4 June 2018 at 15:20, Tueur Volvo <huitr...@gmail.com> wrote: > thanks for your answer, i try some solution but it's not work > > i try to add setsid and setpgrp for isolate my new process but slurm job > sleep 6secondes and reboot my machine (i test with reboot command, but we > can make other bash command, it's just example) > > pid_t cpid; //process id's and process groups > > cpid = fork(); > > if( cpid == 0 ){ > setsid(); > setpgrp(); > execl("/bin/sh", "sh", "-c", "sleep 10; reboot1&", NULL); > > } > wait(NULL); > > > maybe i have a error in my code ? > > 2018-05-31 9:37 GMT+02:00 Yair Yarom <ir...@cs.huji.ac.il>: > >> Hi, >> >> I'm not sure how slurm/spank handles child processes but this might be >> intentional. So there might be some issues if this were to work. >> >> You can try instead of calling system(), to use fork() + exec(). If >> that still doesn't work, try calling setsid() before the exec(). I can >> think of situations where your process might still get killed, e.g. if >> slurm (or even systemd) kills all subprocesses of the "job", by >> looking at the cgroup. If that's the case, you'll need to move it to >> another cgroup in addition/instead of setsid(). >> >> Yair. >> >> >> >> On Wed, May 30, 2018 at 5:16 PM, Tueur Volvo <huitr...@gmail.com> wrote: >> > Hello i have question, how run in background bash script in spank >> plugin ? >> > >> > in my spank plugin in function : slurm_spank_task_init_privileged >> > >> > i want to run this script : >> > >> > system("nohup bash -c 'sleep 10 ; touch /tmp/newfile.txt' &"); >> > >> > i want to run in independant process this bash script, i don't want >> wait 10 >> > seconde in my slurm plugin >> > >> > i have this code : >> > int slurm_spank_task_init_privileged (spank_t sp, int ac, char **av) { >> > >> > system("nohup bash -c 'sleep 10 ; touch /tmp/newfile.txt' &"); >> > >> > return 0; >> > >> > } >> > >> > actualy it's not work, when slurm ending to run my job, he kill my nohup >> > command >> > >> > if i had in my c code sleep 12, my bash script work >> > >> > >> > int slurm_spank_task_init_privileged (spank_t sp, int ac, char **av) { >> > >> > system("nohup bash -c 'sleep 10 ; touch /tmp/newfile.txt' &"); >> > >> > sleep(12); >> > >> > return 0; >> > >> > } >> > >> > but i don't want to wait, i want to run my bash script in independant >> > process >> > >> > thanks for advance for your help >> > >> > >> > >> > >> >> >