Virtlab:Linuxové okénko
Z VirtlabWiki
(Rozdíly mezi verzemi)
Verze z 11:04, 18. 8. 2007 Gry72 (Diskuse | příspěvky) ← Předchozí porovnání |
Verze z 12:22, 18. 8. 2007 Gry72 (Diskuse | příspěvky) Následující porovnání → |
||
Řádka 9: | Řádka 9: | ||
[http://www.davidpashley.com/articles/writing-robust-shell-scripts.html Psaní robustních shell skriptů] | [http://www.davidpashley.com/articles/writing-robust-shell-scripts.html Psaní robustních shell skriptů] | ||
+ | |||
+ | Realizace kritické sekce v Bash: | ||
+ | |||
+ | <nowiki> | ||
+ | LOCKFILE=$SPOJ_DIR/spojovac.lock | ||
+ | |||
+ | # Implementace kriticke sekce s pouzitim LOCKFILE | ||
+ | # noclobber mode: redirection fails if (a regular) file to be written to exists | ||
+ | if ( set -o noclobber; echo "$$" > "$LOCKFILE") 2> /dev/null; | ||
+ | then | ||
+ | trap 'rm -f "$LOCKFILE"; exit $?' INT TERM EXIT | ||
+ | |||
+ | critical-section | ||
+ | |||
+ | rm -f "$LOCKFILE" | ||
+ | trap - INT TERM EXIT | ||
+ | else | ||
+ | echo "Failed to acquire LOCKFILE: $LOCKFILE." | ||
+ | echo "Held by $(cat $LOCKFILE)" | ||
+ | fi | ||
+ | # Opsano z http://www.davidpashley.com/articles/writing-robust-shell-scripts.html | ||
+ | </nowiki> |
Verze z 12:22, 18. 8. 2007
- seznam dobrych rad, osvedcenych postupu, a pod.
- Zaznam cinnosti na konzoli
- pokud delam praci pres konzoli(ssh) a chci to mit jako reprodukovatelny postup a zaroven jsem lenivy si vsechno psat co jsem udelal, tak existuje programek script ktery je schopen nahravat konzoli a k tomu je scriptreplay ktery umi nahravku prehrat
- programy v linuxu:
- script - nahrava konzoli (ulozi do souboru nahravku)
- scriptreplay - prehrava (cte ze souboru nahravku)
Psaní robustních shell skriptů
Realizace kritické sekce v Bash:
LOCKFILE=$SPOJ_DIR/spojovac.lock # Implementace kriticke sekce s pouzitim LOCKFILE # noclobber mode: redirection fails if (a regular) file to be written to exists if ( set -o noclobber; echo "$$" > "$LOCKFILE") 2> /dev/null; then trap 'rm -f "$LOCKFILE"; exit $?' INT TERM EXIT critical-section rm -f "$LOCKFILE" trap - INT TERM EXIT else echo "Failed to acquire LOCKFILE: $LOCKFILE." echo "Held by $(cat $LOCKFILE)" fi # Opsano z http://www.davidpashley.com/articles/writing-robust-shell-scripts.html