Virtlab:Linuxové okénko
Z VirtlabWiki
(Rozdíly mezi verzemi)
												
			
			| Verze z 12:22, 18. 8. 2007 Gry72 (Diskuse | příspěvky) ← Předchozí porovnání | Verze z 12:23, 18. 8. 2007 Gry72 (Diskuse | příspěvky) Následující porovnání → | ||
| Řádka 13: | Řádka 13: | ||
| <nowiki> | <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 | 
| - | if ( set -o noclobber; echo "$$" > "$LOCKFILE") 2> /dev/null; | + | if ( set -o noclobber; echo "$$" > "$LOCKFILE") 2> /dev/null; | 
| - | then | + | then | 
| trap 'rm -f "$LOCKFILE"; exit $?' INT TERM EXIT | trap 'rm -f "$LOCKFILE"; exit $?' INT TERM EXIT | ||
| Řádka 24: | Řádka 24: | ||
| rm -f "$LOCKFILE" | rm -f "$LOCKFILE" | ||
| - | trap - INT TERM EXIT | + | trap - INT TERM EXIT | 
| - | else | + | else | 
| echo "Failed to acquire LOCKFILE: $LOCKFILE." | echo "Failed to acquire LOCKFILE: $LOCKFILE." | ||
| echo "Held by $(cat $LOCKFILE)" | echo "Held by $(cat $LOCKFILE)" | ||
| - | 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> | </nowiki> | ||
Verze z 12:23, 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
