繁体   English   中英

调用参数冲突的命令行应用程序

[英]Calling a command-line application with conflicting arguments

具体来说,这个问题是关于Java和blktrace的,但是可以概括如下:

有一个命令行应用程序(blktrace),可以使用参数(特别是格式)来调用它,也可以不使用它来调用。 在默认模式下调用时,此应用程序返回我需要的一个参数(起始块):

blktrace -d /dev/sda -o - | blkparse -i -

  8,0    0      144     0.011134344   524  I   W 819422 + 8 [kjournald]

但不是另一个(IO大小)。 我可以添加参数(-f)来指定后一个参数:

blktrace -d /dev/sda -o - | blkparse -f "%D %2c %8s %5T.%9t %5p %2a %3d %N\n" -i -

  8,0    0      237     2.013031115   524  I   W 4096

但是这样做意味着我失去了前者。 从Java程序中调用该应用程序。

我无法同时从应用程序中获得两个参数。 我不能同时运行该应用程序的两个实例。 我可以一个接一个地运行一个实例,但这意味着我的数据并没有针对相同的IO集进行全部编译。

知道如何针对相同的读/写操作获取两个参数吗?

在%S报告起始扇区时使用以下命令怎么办:

blktrace -d /dev/sda -o - | blkparse -f "%D %2c %8s %5T.%9t %5p %2a %3d %N %S\n" -i -

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM