[原创]后台运行的shell脚本对文件锁的影响

假设shell脚本A中的一段代码设置有文件锁,在此文件锁的后面(外部)以后台运行的方式调用了脚本B(此脚本中也有文件锁,但是与脚本A的锁文件不是同一个文件),并且脚本B执行时间相当之长,那么,在后台运行的脚本B在结束之后,是否会导致脚本A无法启动第二个进程呢?

下面就来做一个简单的试验,以确定上面的问题。

脚本A(parent.sh)内容如下:

#!/bin/sh
SHELL_DIR="/root/"
LOCKFILE_1=$SHELL_DIR".lock1"
{
    echo "Go into lock1."
    if ! flock -n 4; then
        echo "*** Shell is running, quit."
        exit 1
    fi
} 4<>$LOCKFILE_1

$SHELL_DIR"child.sh" &      # run shell B on background 

阅读更多

[原创] Nagios安装、配置、问题记录(2)

 

本文描述了我在使用Nagios的过程中遇到的一些问题、解决办法以及总结的注意事项。文章很长,请使用Ctrl+F定位到你需要的部分。

Nagios是一套强大的监控报警系统,但是你不花一些时间,是绝对不可能很好地配置它的。除非你只需要监控主机的alive等简单的情况(例如ping),否则请放弃幻想,以极大的耐心去研究它吧。

阅读更多

[原创] Nagios被动监测的实现-NSCA

 

本文环境:RHEL 5.3 x64

 

 

被动监测,就是指由被监测的服务器主动上传数据到Nagios监控系统中。这种监测方式提高了实时性(出现问题的时候,被监测的服务器可以及时上传数据通知Nagios,从而使管理员可以尽快作出处理,而不用像主动监测中一样,非要等到下一个监测周期才能获知被监测服务器的状态)。NSCA就是可以实现Nagios被动监测的一个程序。

阅读更多

VMware下新添加一块磁盘后:Disk /dev/sdb doesn't contain a valid partition table

在VMware管理界面中为一台Linux虚拟机新添加一块虚拟磁盘后,在系统中查看:

fdisk -l

然后将其格式化为ext3:

mkfs.ext3 /dev/sdb

然后挂载到某个目录下,例如 /mnt/disk2/ :

阅读更多

[原创]Nagios安装、配置、问题记录(1)

 

 

 

本文描述了我在使用Nagios的过程中遇到的一些问题、解决办法以及总结的注意事项。文章很长,请使用Ctrl+F定位到你需要的部分。

Nagios是一套强大的监控报警系统,但是你不花一些时间,是绝对不可能很好地配置它的。除非你只需要监控主机的alive等简单的情况(例如ping),否则请放弃幻想,以极大的耐心去研究它吧。

 

(1)默认安装情况下,Nagios的主配置文件为:/usr/local/nagios/etc/nagios.cfg

打开这个文件,可以清楚地看到它指定了其他的配置文件:

阅读更多

[原创] 一些VC之GUI开发问题总结

下面是一些Visual C++ UI开发中遇到的问题的总结,专门记在此文中,以便将来查询。

由于文章较长,请用Ctrl+F查询关键字来定位到你需要的内容。

 

(1)程序运行时提示 VERIFY(strDocName.LoadString(AFX_IDS_UNTITLED)) 错误

在一个基于Xtreme Toolkit的Visual C++ SDI工程中,为了创建Ribbon风格的界面,添加了一堆代码,然后编译,无问题。再运行,程序根本运行不起来,错误提示类似于:

Error Locating Toolkit Resources.

Make sure you have included the resources to your project's .rc2 file.

Add #include <XTToolkitPro.rc> to your project .rc2 file

阅读更多