ЗДЕСЬ МОЙ КОД "./upperscript"
cat filename.txt | while read LINE || [[ -n $LINE ]];
do
./script $LINE >> $LINE.txt 2>> $LINE.err & sleep 1
wait;
done > /dev/null 2>&1 &
echo "[PID $!]"
Вот так
Теперь, когда скрипт исчезает, появляется много форкнутых процессов (по одному) с именем -bash вот так
username 15029 0.0 0.3 7404 3060 ? S mag31 0:00 -bash
username 13849 0.8 0.6 33048 6432 ? S mag31 0:08 \_ ./script HERE MY LINE
username 13869 0.1 0.3 33048 6451 ? S mag31 0:09 \_ ./otherscript HERE MY LINE
username 13881 0.1 0.1 33048 6465 ? S mag31 0:08 \_ ./otherscript HERE MY LINE
Я пытался также
$ chmod 777 /proc/15029/comm
chmod: changing permissions of '/proc/15029/comm': Operation not permitted
сделать это
echo 'PROCESSNAME' > /proc/15029/comm"
но, как вы видите, ошибка
"Операция не разрешена" также используя sudoers имя пользователя или root (su)
если нет способа, могу ли я переименовать его из самого процесса?
Говоря, используя
bash -c "exec -a <MyProcessName> <Command>"
в многострочной команде, как я сейчас?
Спасибо большое
У меня такая же проблема. Мы не можем этого сделать
echo 'PROCESSNAME' > /proc/15029/comm"
Это вопрос привилегий
Вот простой способ, как достичь того, что вы хотите:
Ссылка:
Быстрая демонстрация использования wait
:
a_script.sh:
#!/bin/bash
i=5
while ((i--)); do
$PWD/b_script.sh >> output
sleep 2
done &
p=$! # because we just have one background
# process this isn't really necessary.
echo Lets wait for all scripts to end.
read -p \
"meanwhile pick a number, fast! " n && echo you picked: $n
echo back to waiting...
wait $p
echo All done\!
b_script.sh:
#!/bin/bash
echo b_script | ts