[原创]后台运行的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 

阅读更多

[原创]一些未归类的命令、操作方法或问题总结(2)

 

下面是一些未归类的命令及操作方法,专门记在此文中,以便将来查询。由于文章较长,请用Ctrl+F查询关键字来定位到你需要的内容。

 

(1)关于html的tagName

IHTMLElement::get_tagName方法可获取元素的tagName。tagName指的是元素的标签名。直观的效果测试,请看这个链接。

阅读更多

Linux下shell脚本输出带颜色文字

 

文本终端的颜色可以使用“ANSI非常规字符序列”来生成。举例:

echo -e “\033[44;37;5m ME \033[0m COOL”

以上命令设置作用如下:背景色为蓝色,前景色为白色,字体闪烁,输出字符“ME”,然后重新设置屏幕到缺省设置,输出字符 “COOL”。“e”是命令 echo 的一个可选项,它用于激活特殊字符的解析器。“\033”引导非常规字符序列。“m”意味着设置属性然后结束非常规字符序列,这个例子里真正有效的字符是 “44;37;5” 和“0”。修改“44;37;5”可以生成不同颜色的组合,数值和编码的前后顺序没有关系。

阅读更多