LEON-VALUE

生活碎語、投資生活

Javaからlinuxコマンドを呼び出す

Linux環境のコマンドを呼出し、標準出力結果を取得する方法

ソースをコーヒーしたら、フォーマットが変になってしまた。


import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class LinuxCmdTest{
public static void main(String arg[]) {
LinuxCmdTest cmdTest = new LinuxCmdTest();
String str_cmd;
String str_arg;

// Linuxのシェルを呼出す
// 普通の方法であれば、Pipeがある場合、正常に処理できないため、複雑なコマンドをシェルにして呼出す。
str_cmd = "sh";
str_arg = "/root/Test/get_netstat_result.sh";
cmdTest.processCmd(str_cmd, str_arg);

// 直接Linuxコマンドを呼出す
// new ProcessBuilder("/bin/sh", "-c", LINUXコマンド)
cmdTest.processCmdWithOption("netstat -alpn | grep -E ':(80)' | awk {'print $1'} | grep 'tcp' | uniq -c");

System.out.println(">>> call get_ps_result.sh");
str_arg = "/root/Test/get_ps_result.sh";
cmdTest.processCmd(str_cmd, str_arg);

// Runtime#exec の方法でLinuxコマンドを呼出す。
str_cmd = "/root/Test/get_netstat_result.sh";
runCmd(str_cmd);
}

// in the case of Runtime
public static void runCmd(String cmd) {
try {
Runtime r = Runtime.getRuntime();

Process process = r.exec(cmd);
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
try {
String line = br.readLine();
while (line != null) {
System.out.println(line) ;
line = br.readLine();
}
} catch (Exception ex) {
System.out.println(ex.toString());
} finally {
br.close();
is.close();
}
} catch (Exception ex) {
System.out.println(ex.toString());
}
}

// in the case of ragurar processBuilder
public long processCmd(String cmd, String arg){
long rtn = 0;

ProcessBuilder pb = new ProcessBuilder(cmd, arg);
pb.redirectErrorStream(true);

try {
Process process = pb.start();
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
try {
String line = br.readLine();
if (line != null) {
System.out.println(line) ;
}
} catch (Exception ex) {
System.out.println(ex.toString());
} finally {
br.close();
is.close();
}
} catch (Exception ex) {
System.out.println(ex.toString());
}
return rtn;
}

// in the case of processBuilder with option
public long processCmdWithOption(String cmd){
long rtn = 0;

ProcessBuilder pb = new ProcessBuilder("/bin/sh", "-c", cmd);
pb.redirectErrorStream(true);

try {
Process process = pb.start();
InputStream is = process.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
try {
String line = br.readLine();
if (line != null) {
System.out.println(line) ;
}
} catch (Exception ex) {
System.out.println(ex.toString());
} finally {
br.close();
is.close();
}
} catch (Exception ex) {
System.out.println(ex.toString());
}
return rtn;
}
}

2016小结

已经2月份了、才总结2016年度的事情。

2016年实在有太多刻骨铭心的记忆。
很多事情不愿去回想、太过惨烈。

 

虽然结果上看最终取得了正收益、过程却极为痛苦。多少年没遇上这样的情况了、也许上次还是在2008年雷曼危机的时候。

尤其对于外汇的操作、高杠杆引发了强制平仓、即使知道这是蠢的、但还是愚蠢的去做了。

 

1。年初的熔断
没机会进行止损、到达可以交易价格时候认为再进行止损已经没有意义。
开始反思是否值得继续留在A股市场,并未进行更多操作、更多的是一动不动。

日本股市开始受油价不断创新低的压力、日元飙升。A股现熔断后、10点半以前的交易都是观望时间、根据A股是否又熔断了决定方向。
随后日银祭出负利率,自己也本来在做多日元、祭出负利率之后反手做空日元。
不幸的是资金避险趋向强烈、负利率压制银行的固定收益、银行股遭到大规模做空,引发日元升值不止。从而导致大损。
China shock 的词频繁出现在报纸上。
短短2天、三观被不断重塑。
这几周是最为惨烈的几周、不能不联想起08年的货币危机。
回头来看、一切都是谎言。
正如索罗斯所言:经济史就是谎言构成的。
恐慌与市场的扭曲形成了各个机会。

 
印象最深的事情:
巴菲特逆势增仓石油加工股。
经济报的标题是 巴菲特疯了吗
事实证明:不是他疯了、是平庸的投资者疯了。

也许一年、两年都像个石头似的一动不动、等待几年才出现的机会才是上策。

2。退欧事件
A股市场受影响很小、更多是受政策导向。
流动性的丧失、导致几乎都是垃圾交易时间。

年初的痛苦刚刚恢复一些便开始迎接退欧投票这个事件。

确实没有想到英国疯子真的选择了退欧。
并没有进行对冲。

再次体现了银行类资产为何只有净资产0.8倍,但还是很危险的事实。
银行类对各类消息极为敏感。
当各种不确定叠加时候、银行类是最容易被抛售的品种。也是空头司令的首选标的。

3。特朗普行情
大选开始前的情景和退欧前极为相似、
大选当日、日经一度重挫7%。
按照以往经验、当日是不出手接飞刀、收盘后出现了戏剧的一幕。

日元直线飙升、连破101、102、103 、105关口。
银行股、出口类股票在次日开盘便高开7%。
捡便宜货的机会转瞬既逝、接着便开始了不可思议的特朗普行情。


最大的不安竟成为最大的安全。
按照常规出牌的人必定是个凯子。
根据英国退欧经验而布局的投资者损失极为惨重。

A股为何不跟涨呢?
特朗普行情的核心让资金流回美国、人民币因此承受资金外流的压力。

然而强势美元和强势经济是矛盾的、狂欢之后肯定要思考 他的承诺能兑现吗?
因为透支了乐观预期、一个不及格的指标将会引发一系列连锁反应。

错过了就只能错过了。
电车迟早会来、总不能试着跳上已经奔驰的列车上。

接下来的日子:
1. 逐步撤出A股、虽然在里面打拼了好多年。
但这不是真正的市场。

逐步逢高了结。

2. 气度不够、做事情小家子气。

气度影响格局。

 

3. 坚持深思熟虑的判断。

很多时候的交易是在对赌,或者随性而起的注文而引起一系列的被动连锁反应。

越来越能体会到以经营者的角度进入、而不是投机者 随着时间的沉淀,才知道谁在裸泳。

 

4. 不轻易交易。

 要么不做、做就要有全盘的计划。

减少随性而起的交易。

 

 

 

总是回忆

最近一段时间总活在以前的回忆里。

甚至儿时的片段也慢慢的不断浮现。

 

是因为看不到清晰的未来才这样吗?

还是因为什么....

 

当不再畅想未来而活在过去的时候总觉得有些可怕。

 

曾经拥有很多、也有过觉得自己可以做很多成功的事情。

然而转瞬便随风而去。

甚至不知道为何而活着、

如同放在高空的风筝、突然断了线、随着不能掌控的风起起落落没有方向。

f:id:hikaruhan:20170220202812j:image