良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

multiprocessing的并发模型

需求:1、周期性对一批机器执行某操作;2、该操作执行所需时间不固定,有波动;3、每次操作机器数量较多,需用多进程实现,但又不宜针对每个机器单独开启进程,否则进程太多;由于每个周期的操作时间不固定,难免出现两个周期重叠在一起,所以每个周期的操作尽量保持独立,这样不会彼此影响。基于以上考虑,程序的大体思路是:主进程周期性fork一个子进程,子进程使用multiprocessing创建多进程执行具体操作。代码如下:#! /usr/bin/env python # -*-

阅读全文...

Python 中 Ctrl+C 不能终止 Multiprocessing Pool

本文理论上对multiprocessing.dummy的Pool同样有效。python2.x中multiprocessing提供的基于函数进程池,join后陷入内核态,按下ctrl+c不能停止所有的进程并退出。即必须ctrl+z后找到残留的子进程,把它们干掉。先看一段ctrl+c无效的代码:#!/usr/bin/env pythonimport multiprocessingimport osimport timedef do_work(x):

阅读全文...

shell字符串分割成数组

root@localhost:~/xly# vim 1#!/bin/bashstring="hello abc,shell,haha"OLD_IFS="$IFS"IFS=","array=($string)IFS="$OLD_IFS"for var in ${array[@]}doecho $vardoneecho $string | awk '{split($0,arr,",");for

阅读全文...

python中序列,列表,元组,字符串,索引区别是什么

序列包括:列表、元组、字符串 列表:是最常用的数组,可以进行嵌套; 元组:相当于Enum,一旦创建,元组的值是不允许修改的; 字符串:顾名思义就是中英文字符以及标点符号等。 索引:序列中的每个元素被分配一个序号。注意索引默认从0开始。

阅读全文...

Python完美数代码

如果整数n满足如下条件,则称n为完美数:1)n是正数;2)n不是10的倍数;3)n不包含先导的0;4)k为n去掉0之后所得的数,k不等于n,而且k是n的一个因子。root@localhost:~/xly/02# python r.py [105, 108, 405, 1001, 1005, 1008, 2002, 2025, 3003, 4004, 4005,&nbs

阅读全文...

把文本中前三字符串 粘到后面--shell练习题

比如我有txtabccccbcaccccabccc需要将前三字符 粘到后面abcccc abcbcaccc bcacabccc cabroot@localhost:~/xly# cat txt  abcccc bcaccc cabccc root@localhost:~/xly# cat 1 #!/bin/bash while read line do b=`echo $line|cut -

阅读全文...

作者:良玉 分类:Shell 浏览:133 评论:0

shell脚本转换成二进制的可执行文件方法--加密

第一种方法(gzexe):这种加密方式不是非常保险的方法,但是能够满足一般的加密用途,可以隐蔽脚本中的密码等信息。它是使用系统自带的gzexe程序,它不但加密,同时压缩文件。使用方法:gzexe file.sh它会把原来没有加密的文件备份为 file.sh~ ,同时 file.sh 即被变成加密文件;第二种方法(shc):使用 shc 对 Linux shell 脚本加密.shc是一个专业的加密s

阅读全文...