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