Virtlab:Linuxové okénko
Z VirtlabWiki
(Rozdíly mezi verzemi)
Verze z 12:23, 18. 8. 2007 Gry72 (Diskuse | příspěvky) ← Předchozí porovnání |
Verze z 12:25, 18. 8. 2007 Gry72 (Diskuse | příspěvky) Následující porovnání → |
||
Řádka 12: | Řádka 12: | ||
Realizace kritické sekce v Bash: | Realizace kritické sekce v Bash: | ||
- | <nowiki> | + | |
LOCKFILE=$SPOJ_DIR/spojovac.lock | LOCKFILE=$SPOJ_DIR/spojovac.lock | ||
- | + | ||
# Implementace kriticke sekce s pouzitim LOCKFILE | # Implementace kriticke sekce s pouzitim LOCKFILE | ||
# noclobber mode: redirection fails if (a regular) file to be written to exists | # noclobber mode: redirection fails if (a regular) file to be written to exists | ||
Řádka 20: | Řádka 20: | ||
then | then | ||
trap 'rm -f "$LOCKFILE"; exit $?' INT TERM EXIT | trap 'rm -f "$LOCKFILE"; exit $?' INT TERM EXIT | ||
- | + | <CRITICAL SECTION> | |
- | critical-section | + | |
- | + | ||
rm -f "$LOCKFILE" | rm -f "$LOCKFILE" | ||
trap - INT TERM EXIT | trap - INT TERM EXIT | ||
Řádka 30: | Řádka 28: | ||
fi | fi | ||
# Opsano z http://www.davidpashley.com/articles/writing-robust-shell-scripts.html | # Opsano z http://www.davidpashley.com/articles/writing-robust-shell-scripts.html | ||
- | </nowiki> |
Verze z 12:25, 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