George Pashev

Website of George Pashev (Jidai Mirai)

Scientist, Programmer, Data Scientist, Enterpreneur

Задача за упражнения по Операционни системи: BASH SHELL SCRIPTS

Условие:

Да се създаде Bash Shell Script, който приема име на файл, вижда текущите активни процеси, създава XML файл с това име със следното примерно съдържание:

<processes>
<ps num='1' id='3171'>gnome-terminal</ps>
<ps num='2' id='3178'>gnome-pty-helpe</ps>
<ps num='3' id='3179'>bash</ps>
<ps num='4' id='3241'>primer.sh</ps>
<ps num='5' id='3242'>ps</ps>
</processes>

където атрибута num е автоматично зададен текущ номер на процес, атрибута id съдържа PID на процеса а съдържанието на тага ps съдържа име на процеса. След като създаде файла, да го отвори с текстов редактор.

Примерно решение:

#!/bin/bash
out=$(ps -A)
echo $out
declare -i i=1


echo "<processes>" > $1
for a in $out ; do

if [ $i -gt 4 ] && [ $(( ($i+3) % 4 )) -eq 0 ]; then
tt=$a
fi

if [ $i -gt 4 ] && [ $(( $i % 4 )) -eq 0 ]; then
echo "<ps num='$((($i-1)/4))' id='$tt'>$a</ps>" >> $1
fi 
i=$(($i+1))
done
echo "</processes>" >> $1

kate $1

fulltext

Keywords

processesechognomeпроцесасъдържаатрибутаthenпримернофайлсъздадеbashследфайлатагасъдържаниетоотвориfulltextпроцес1katebashout