小编oct*_*pus的帖子

Ruby守护进程,干净关闭

我想创建一个ruby守护进程,它可以使用kill命令正常关闭.我想添加一个信号陷阱,它将等到#code that could take some time to run关闭前完成.我如何将其添加到以下内容中:

pid = fork do
   pid_file = "/tmp/pids/daemon6.pid"
   File.open(pid, 'w'){ |f| f.write(Process.pid) }
   loop do
      begin
         #code that could take some time to run
      rescue Exception => e
         Notifier.deliver_daemon_rescued_notification(e)
      end
      sleep(10)
   end
end
Process.detach pid
Run Code Online (Sandbox Code Playgroud)

另外,将它放在一个单独的脚本中会更好吗,比如单独的kill脚本而不是将它作为守护程序代码的一部分?喜欢什么monit或者God会打电话来阻止它?

我很感激任何建议.

ruby daemon

7
推荐指数
1
解决办法
3042
查看次数

GNU与rsync并行

我正在尝试rsync使用sshwith 运行一些并行实例GNU parallel.我正在运行的命令是这样的:

find /tmp/tempfolder -type f -name 'chunck.*' | sort | parallel --gnu -j 4 -v ssh -i access.pem user@server echo {}\; rsync -Havessh -auz -0 --files-from={} ./ user@server:/destination/path
Run Code Online (Sandbox Code Playgroud)

/tmp/tempfolder包含带前缀的文件,chunck它们包含实际的文件列表.

使用此命令,我得到了4个调用rsync,但是他们需要一段时间才能开始运行,并且不能一起启动并且不能并行运行.

我究竟做错了什么?

parallel-processing shell rsync gnu-parallel

7
推荐指数
1
解决办法
1595
查看次数

如何在 Python 中打印 raw_input 的行?

通常,当raw_input要求您输入内容并按 Return 时,反馈会打印在新行上。如何打印提示行?在这种情况下,CR 可以工作吗?

演示:

prompt = "Question: "
answer = raw_input(prompt)
print answer
print("Correct!")
Run Code Online (Sandbox Code Playgroud)

键入答案并按 Return 后的模拟输出:

>> Question: my answer
>> Correct!
Run Code Online (Sandbox Code Playgroud)

期望的输出:

>> Correct!
Run Code Online (Sandbox Code Playgroud)

python newline carriage-return raw-input

5
推荐指数
1
解决办法
1354
查看次数

GNU并行-使输出保持彩色

我正在并行处理一些带有彩色输出的0-args命令(脚本/任何命令),但是当并行打印输出时,它是无色的(除非我使用该-u选项,但是它是无序的)。

有办法改变吗?

我正在使用的行(插图):

echo "script1 script2 script3" | tr " " "\n" | parallel -j3 'echo {}":\n\n"; eval {}'
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我使用的是GNU parallel的本地版本,但是应该大致相同。

谢谢

colors gnu-parallel

5
推荐指数
1
解决办法
536
查看次数

Datanode守护程序未在Hadoop 2.5.0上运行

我在一台机器上设置Hadoop 2.5.0,我遇到的问题是没有运行的datanode,如jps命令的输出所示:

$ jps
3404 Jps
2661 NodeManager
2606 ResourceManager
2484 NameNode
Run Code Online (Sandbox Code Playgroud)

当我尝试手动运行它时,我得到了这个:

$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
starting datanode, logging to /home/arbi/Programs/hadoop-2.5.0/logs/hadoop-arbi-datanode-ElOued.out
Run Code Online (Sandbox Code Playgroud)

然后仍然没有,这里的内容是hadoop-arbi-datanode-ElOued.out:

ulimit -a for user arbi
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 15862
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, …
Run Code Online (Sandbox Code Playgroud)

java hadoop mapreduce hdfs hadoop-yarn

4
推荐指数
1
解决办法
6928
查看次数


查看原始文件的 Linux 命令,包括其分隔符

我正在尝试在终端中查看文件的内容,包括其分隔符。例如:

hello\t\tworld\n
hello\t\tworld\t\tagain\n
Run Code Online (Sandbox Code Playgroud)

而不仅仅是:

hello world
hello world again
Run Code Online (Sandbox Code Playgroud)

我不久前使用“sed”或“awk”做过一次......我想......但是,我现在似乎不记得了。

谢谢您的帮助。

linux terminal awk sed

4
推荐指数
1
解决办法
2万
查看次数

4
推荐指数
1
解决办法
1101
查看次数

打开然后从bash中杀死子进程

执行命令然后在一段时间后杀死命令的最佳方法是什么?这就是我所拥有的; 它完成了这项工作,但是我得到了amp: command not found,虽然我不知道为什么放大器在那里,但我知道如果没有放大器,杀戮就行不通.

feh "$output""$ext" &
echo $!
sleep 1
kill -s 9 $!
exit 1
Run Code Online (Sandbox Code Playgroud)

问题是我不知道我正在执行的进程的PID.我可以在执行时指定一个吗?

bash kill parent-child

3
推荐指数
1
解决办法
3403
查看次数

如何将scrapy服务器作为守护进程运行

我试图将scrapy服务器作为守护进程运行.我试过这个链接 但是每当我运行这个命令时我都会收到错误:

sudo apt-get install scrapyd-0.14
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package scrapyd-0.14
E: Couldn't find any package by regex 'scrapyd-0.14'
Run Code Online (Sandbox Code Playgroud)

我可以从我的scrapy项目文件夹运行scrapy服务器,但我想将它作为后台服务(守护进程)运行..我正在使用 scrapy version : Scrapy 0.16.5

我该怎么做...请帮帮我..

python scrapy scrapyd

3
推荐指数
1
解决办法
2702
查看次数