我使用JSch来拖尾远程计算机中的文件.但我发现在程序退出后,"tail -f"进程仍然存在于远程计算机中.如果我删除"-f"参数,一切都OK.
我试过使用"sendSignal()",但它不起作用.似乎OpenSSH没有实现该功能.
这是测试代码.
public static void main(String[] args) throws Exception {
String usr = args[0];
String host = args[1];
String password = args[2];
JSch jsch = new JSch();
Session session = jsch.getSession(usr, host);
String pwd = password;
session.setPassword(pwd);
Hashtable<String, String> config = new Hashtable<String, String>();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect(15000);
session.setServerAliveInterval(15000);
ChannelExec m_channelExec = (ChannelExec) session.openChannel("exec");
String cmd = "tail -f /var/log/messages";
m_channelExec.setCommand(cmd);
InputStream m_in = m_channelExec.getInputStream();
m_channelExec.connect();
BufferedReader m_bufferedReader = new BufferedReader(new InputStreamReader(m_in));
int i = 0;
while (++i …Run Code Online (Sandbox Code Playgroud) 我有2个DataFrames:
city count school
0 New York 1 school_3
1 Washington 1 School_4
2 Washington 1 School_5
3 LA 1 School_1
4 LA 1 School_4
city count school
0 New York 1 School_3
1 Washington 1 School_1
2 LA 1 School_3
3 LA 2 School_4
Run Code Online (Sandbox Code Playgroud)
我想得到这个结果:
city count school
0 New York 2 school_3
1 Washington 1 School_1
2 Washington 1 School_4
3 Washington 1 School_5
4 LA 1 School_1
5 LA 1 School_3
6 LA 3 School_4
Run Code Online (Sandbox Code Playgroud)
以下是代码.
d1 …Run Code Online (Sandbox Code Playgroud) 有一个元组列表
l = [(1, 2, 'a', 'b'), (3, 4, 'c', 'd'), (5, 6, 'e', 'f')]
Run Code Online (Sandbox Code Playgroud)
我可以用
[(i[0], i[2], i[3]) for i in l]
Run Code Online (Sandbox Code Playgroud)
得到结果
[(1, 'a', 'b'), (3, 'c', 'd'), (5, 'e', 'f')]
Run Code Online (Sandbox Code Playgroud)
但是如果给出一个变量列表[0, 2, 3],如何得到类似的结果呢?