ps_f 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README +7 -7
  2. data/bin/ps_f +15 -3
  3. metadata +3 -3
data/README CHANGED
@@ -16,15 +16,15 @@ gem install ps_f
16
16
 
17
17
  shell> ps_f
18
18
  USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
19
- root 1 0.0 0.0 2512260 2160 ?? Ss 9:05AM 0:09.81 /sbin/launchd
19
+ root 1 0.0 0.0 2512260 2160 ?? Ss 9:05AM 0:09.81 launchd
20
20
  sugawara 260 0.0 0.1 2563928 13648 ?? Ss 9:05AM 0:01.49 \_ com.apple.dock.extra
21
- sugawara 231 0.0 0.0 2511704 1756 ?? Ss 9:05AM 0:04.48 \_ /sbin/launchd
22
- sugawara 718 1.6 0.8 3793428 131332 ?? S 9:07AM 2:37.60 | \_ /Applications/iTerm.app/Contents/MacOS/
21
+ sugawara 231 0.0 0.0 2511704 1756 ?? Ss 9:05AM 0:04.48 \_ launchd
22
+ sugawara 718 1.6 0.8 3793428 131332 ?? S 9:07AM 2:37.60 | \_ iTerm -psn_0_208947
23
23
  root 3453 0.0 0.0 2479984 2288 s001 Ss 9:50AM 0:00.02 | | \_ login -fp sugawara
24
24
  sugawara 3454 0.0 0.0 2435492 2104 s001 S+ 9:50AM 0:00.04 | | | \_ -bash
25
25
  root 10710 0.0 0.0 2490224 2328 s003 Ss 12:11PM 0:00.01 | | \_ login -fp sugawara
26
- sugawara 672 0.3 1.4 1465496 231208 ?? S 9:07AM 7:19.22 | \_ /Applications/Google Chrome.app/Content
27
- sugawara 18426 2.9 0.3 908880 57228 ?? S 2:40PM 0:16.89 | | \_ /Applications/Google Chrome.app/Con
28
- sugawara 7838 0.0 0.3 908424 54156 ?? S 11:18AM 0:02.44 | | \_ /Applications/Google Chrome.app/Con
29
- sugawara 4054 0.0 0.4 915828 71916 ?? S 10:02AM 0:05.18 | | \_ /Applications/Google Chrome.app/Con
26
+ sugawara 672 0.3 1.4 1465496 231208 ?? S 9:07AM 7:19.22 | \_ Google Chrome -psn_0_155686
27
+ sugawara 18426 2.9 0.3 908880 57228 ?? S 2:40PM 0:16.89 | | \_ Google Chrome Helper --type=rendere
28
+ sugawara 7838 0.0 0.3 908424 54156 ?? S 11:18AM 0:02.44 | | \_ Google Chrome Helper --type=rendere
29
+ sugawara 4054 0.0 0.4 915828 71916 ?? S 10:02AM 0:05.18 | | \_ Google Chrome Helper --type=rendere
30
30
  ...
data/bin/ps_f CHANGED
@@ -1,4 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
+ require 'optparse'
3
+
4
+ wide = false
5
+ opt = OptionParser.new
6
+ opt.on('-w', '--wide') {|v| wide = v }
7
+ opt.parse!(ARGV)
8
+
2
9
  out = `ps awxu -o ppid,command`
3
10
  exit 1 unless $?.success?
4
11
 
@@ -28,7 +35,7 @@ end
28
35
 
29
36
  roots = tree.select {|pid, ppid, command| ppid.zero? }
30
37
 
31
- def asm(tree, roots, pre_prefix, cmd_list)
38
+ def asm(tree, roots, pre_prefix, cmd_list, basename_only)
32
39
  h = {}
33
40
 
34
41
  roots.each do |pid, ppid, command|
@@ -40,18 +47,23 @@ def asm(tree, roots, pre_prefix, cmd_list)
40
47
  list.sort_by {|a, b| a[0] }.each_with_index do |pid_cmd, i|
41
48
  pid, command = pid_cmd
42
49
 
50
+ if basename_only
51
+ head, tail = command.split('-', 2)
52
+ command = File.basename(head) + (tail ? '-' + tail : '')
53
+ end
54
+
43
55
  cmd_list << [pid, pre_prefix + ' \_ ' + command]
44
56
 
45
57
  children = tree.select {|child| pid == child[1] }
46
58
  child_pre_prefix = pre_prefix + ((i < list.length - 1) ? ' | ' : ' ')
47
59
 
48
- asm(tree, children, child_pre_prefix, cmd_list)
60
+ asm(tree, children, child_pre_prefix, cmd_list, basename_only)
49
61
  end
50
62
  end
51
63
  end
52
64
 
53
65
  cmd_list = []
54
- asm(tree, roots, '', cmd_list)
66
+ asm(tree, roots, '', cmd_list, !wide)
55
67
 
56
68
  tree_rows = cmd_list.map do |pid, command|
57
69
  row = rows[pid]
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ps_f
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - winebarrel