在Unix上,所有这三个都会产生相同的结果
system("top -H -p $pid -n 1"); #ver1
system("top", "H", "p $pid", "n 1"); #ver2
system("top", "-H", "-p $pid", "-n 1"); #ver3
Run Code Online (Sandbox Code Playgroud)
是什么区别VER2和VER3?
有什么理由我应该使用ver2和ver3,而不是ver1?
它们甚至不支持管道结果,例如,是否有以下调用的ver2和ver3等价物?
system("top -H -p $pid -n 1 | grep myprocess | wc -l");
Run Code Online (Sandbox Code Playgroud)即使它看起来一样也不一样:
$ perl -e 'system("./test.pl -H -p $$ -n 1");system("./test.pl", "H", "p $$", "n 1");system("./test.pl", "-H", "-p $$", "-n 1");'
-H,-p,10497,-n,1
H,p 10497,n 1
-H,-p 10497,-n 1
$ cat ./test.pl
#!/usr/bin/perl
$\="\n";
$,=",";
print @ARGV;
Run Code Online (Sandbox Code Playgroud)
它的top实现是相同的.其他应用可能无法正常工作.
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |