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
