小编Mad*_*Ady的帖子

bash:在后台启动多个链式命令

我试图在后台使用bash在paralel中运行一些命令.这是我正在尝试做的事情:

forloop {
  //this part is actually written in perl
  //call command sequence
  print `touch .file1.lock; cp bigfile1 /destination; rm .file1.lock;`;
}
Run Code Online (Sandbox Code Playgroud)

反引号(``)之间的部分产生一个新的shell并连续执行命令.问题是,只有在执行完最后一个命令后,对原始程序的控制才会返回.我想在后台执行整个语句(我不期待任何输出/返回值),我想循环继续运行.

调用程序(具有循环的程序)在所有生成的shell完成之前不会结束.

我可以在perl中使用线程来生成调用不同shell的不同线程,但它似乎有点过分......

我可以启动一个shell,给它一组命令并告诉它去后台吗?

bash command background

44
推荐指数
5
解决办法
9万
查看次数

如何在Perl中将数字转换为多个形式?

你知道一个简单直接的方法/子/模块,它允许我将一个数字(比如1234567.89)转换成易读的形式 - 比如1.23M吗?

现在我可以通过几次比较来做到这一点,但我对我的方法不满意:

if($bytes > 1000000000){ 
   $bytes = ( sprintf( "%0.2f", $bytes/1000000000 )). " Gb/s";                   
}
elsif ($bytes > 1000000){       
   $bytes = ( sprintf( "%0.2f", $bytes/1000000 )). " Mb/s"; 
}
elsif ($bytes > 1000){
   $bytes = ( sprintf( "%0.2f", $bytes/1000 )). " Kb/s"; 
}
else{ 
   $bytes = sprintf( "%0.2f", $bytes ). "b/s";
}                                                                  
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助!

format perl numbers

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

标签 统计

background ×1

bash ×1

command ×1

format ×1

numbers ×1

perl ×1