当前位置: 技术问答>linux和unix
如何运行外部命令后不等外部命令运行结束直接运行下一条命令
来源: 互联网 发布时间:2016-12-16
本文导语: RT。 我想在脚本里实现这样的一个功能,我运行一个外部命令,因为这个外部命令比较费时间,我不想等待他跑完再继续下一个操作,有什么办法吗? $cmd1 = "ssh $login abc.pl"; system("$cmd1"); $cmd2 = "ssh $login def.pl"; s...
RT。 我想在脚本里实现这样的一个功能,我运行一个外部命令,因为这个外部命令比较费时间,我不想等待他跑完再继续下一个操作,有什么办法吗?
$cmd1 = "ssh $login abc.pl";
system("$cmd1");
$cmd2 = "ssh $login def.pl";
system("$cmd2");
我不想让cmd1的命令结束后再运行,我想同时运行cmd1跟cmd2,有什么办法吗?
$cmd1 = "ssh $login abc.pl";
system("$cmd1");
$cmd2 = "ssh $login def.pl";
system("$cmd2");
我不想让cmd1的命令结束后再运行,我想同时运行cmd1跟cmd2,有什么办法吗?
|
加&行不行的哇?后台运行的
|
额,加&让在后台运行
例:
sleep 100 & ls - l
例:
sleep 100 & ls - l
|
fork;多線程;或者修改system()的參數,寫成cmd1 &; cmd2。
|
命令1后加&后台运行就可以了
|
$cmd1 = "ssh $login abc.pl";
system("$cmd1");
lz是什么语言?perl?
这个就不知道了
system("$cmd1");
lz是什么语言?perl?
这个就不知道了
|
system 可能等命令的返回值和输出吧
$cmd1 = "ssh $login abc.pl";
`$cmd1 &`;
这样应该可以吧
$cmd1 = "ssh $login abc.pl";
`$cmd1 &`;
这样应该可以吧
|
脚本里能用fork?
不行的吧~~~
$cmd1 = "ssh $login abc.pl&";
这样子不行吗?
不行的吧~~~
$cmd1 = "ssh $login abc.pl&";
这样子不行吗?
|
后台运行就可以了。