import java.util.ArrayList; import java.util.List; public class Test { public static void main(String[] args) { List<String> list = new ArrayList<String>(); System.out.println("--------------"); list.add("liushang 1000 0.0 0.0 0 0 ? S< Aug23 0:00 uniux.jar");//OK list.add("liushang 1005 0.0 0.0 0 0 ? S< Aug23 0:00 unity-");//OK list.add("liushang 10051 0.0 0.0 0 0 ? S< Aug23 0:00 unit:y-");//OK list.add("root 10061 0.0 0.0 0 0 ? S< Aug23 0:00 /usr/bin/unity-");//OK list.add("root 10021 0.0 0.0 0 0 ? S< Aug23 0:00 uniux");//OK list.add("root 10031 0.0 0.0 0 0 ? S< Aug23 0:00 uniux");//OK list.add("liushang 1001 0.0 java");//OK list.add("liushang 1002 0.0 linux");//OK list.add("liushang 1003 ? windows");//OK list.add("root 1004 ? java");//OK list.add("liushang 6383 0.0 0.0 92092 1980 ? S 09:28 0:00 sshd: liushang@pts/2");//OK list.add("liushang 7786 0.0 0.0 22232 1200 pts/3 R+ 11:57 0:00 ps aux");//OK list.add("root 13 0.0 0.0 0 0 ? S< Aug23 0:00 [netns]");//OK list.add("root 904 0.0 0.0 18976 1032 ? Ss Aug23 0:00 cron");//OK list.add("liushang 7117 0.3 0.6 2420920 51516 pts/1 Sl+ 10:06 0:20 java -jar client.jar");//OK list.add("liushang 6871 0.3 0.5 2487856 47100 pts/0 Sl+ 10:05 0:20 java -jar server.jar");//OK list.add("liushang 4124 0.3 0.6 2420920 51516 pts/1 Sl+ 10:06 0:20 java -jar client.jar");//OK list.add("root 7131 0.0 0.0 91944 3756 ? Ss 10:06 0:00 sshd: ");//这里有空格 单输入也打空格就查不出来,不打空格可以查出 list.add("root 7132 0.0 0.0 91944 3756 ? Ss 10:06 0:00 liushang [priv]");//NO list.add("root 7133 0.0 0.0 91944 3756 ? Ss 10:06 0:00 sshd: liushang [priv]");//NO list.add("root 7756 0.0 0.0 0 0 ? S 10:44 0:00 liu [kworker/u:2]");//NO list.add("root 7757 0.0 0.0 0 0 ? S 10:44 0:00 [kworker/u:2]:1");//NO list.add("root 7759 0.0 0.0 0 0 ? S 10:44 0:00 :[kworker/u:2]");//NO list.add("root 7760 0.0 0.0 0 0 ? S 10:44 0:00 :[kwo:rker/u2]");//NO list.add("root 7130 0.0 0.0 91944 3756 ? Ss 10:06 0:00 sshd: liushang [priv]");//NO String name = "java -jar client.jar"; List<Integer> pids = nameId(name, list); for(Integer id : pids){ System.out.println(id); } } public static List nameId(String name,List<String> list) { List<Integer> pids = new ArrayList(); int count = 0; String str=""; int length = name.length(); for(String s : list){ if(s.indexOf(name)!=-1){ if(s.substring(s.indexOf(name)).trim().length()==length){ str+=count+","; } } count++; } String strs[] = str.split(","); for(String s : strs){ //System.out.println(list.get(Integer.parseInt(s)).substring(9, 15).trim()); //pnames[i] =Integer.parseInt(list.get(Integer.parseInt(strs[i])).substring(9, 15).trim()); pids.add(Integer.parseInt(list.get(Integer.parseInt(s)).substring(9, 15).trim())); } return pids; } public static List nameId(String PNAME){ List<Integer> pids = new ArrayList(); return pids; } }
