обратная петля slitaz 4.0 grub2 связывает несколько изображений initrd

Это были 10 часов, с тех пор как я задал вопрос, и я разработал решение... Примечание: Поскольку я ранее упомянул в комментарии (под вопросом), wait не работает с этими процессами. Я предполагаю, что это вызвано тем, что эти 'замены процесса' не являются 'дочерними' процессами, которым я верю, что wait ожидает. (Я попробовал wait без args)....

Комментарии к его функциям и сбоям ценились бы. Я не вполне понимаю, как stdin взят zenity и tr когда echo первая команда, но я просто думал, что дам ей движение... Это, кажется, работает (в этом случае), но действительно ли этот метод надежен?

Довольно вероятно, будут некоторые хорошо проверенные на практике методы там для занятия этим, таким образом, другие ответы были бы worthwile....


#!/bin/bash
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
# Set up flag-files for processes to send PIDs to main process
# The first thing each process does is: echo -n "$BASHPID " > flag-file  
for i in {1..2};do cp /dev/null "$listf".pid$i;done
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
eval locate $zenargs |tee \
    >(echo -n "$BASHPID " > "$listf".pid1 ; \
      zenity --progress --pulsate --auto-close) \
    >(echo -n "$BASHPID " > "$listf".pid2 ; \
      tr $'\x60' $X01 \
       |sed -n "s/^\(.*\/\)\(.*\)/\1\2\n\2\n\1/p" \
          |while IFS= read -r line ; do \
              #
              #
              # process the data 
              #
              #
          done > "$listf" ) \
    >/dev/null
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
####  WAIT for processes to terminate  
pids=$(cat "$listf".pid{1,2})
while [[ "$pids" == *[0-9]* ]] ; do
   sleep .1 # GNU
   for pid in $pids ; do
      if ! kill -0 "$pid" 2>/dev/null; then
         pids="${pids/$pid/}"
      fi
   done 
done
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cat "$listf"
#
2
25.05.2012, 05:05
2 ответа

Это еще не работает. Касательно: http://www.sysresccd.org/forums/viewtopic.php?f=14&t=4368, Но работается на http://savannah.gnu.org/bugs/?35238

Вы можете, хотя все еще загружают "основу".


menuentry "OK: SliTaz base" {
 set isofile="/slitaz-4.0.iso"
 loopback loop $isofile
 linux (loop)/boot/bzImage  initrd=/boot/rootfs4.gz lang=C kmap=uk rw root=/dev/null vga=normal autologin
 initrd (loop)/boot/rootfs4.gz
}
0
27.01.2020, 22:23
[1121033] Если вы находитесь достаточно далеко, чтобы достичь терминальной подсказки, которая более чем достаточна, чтобы свести воедино столько образов, сколько вы могли бы пожелать. Все, что вам нужно сделать оттуда, это:

1
27.01.2020, 22:23

Теги

Похожие вопросы