-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Wed, Jul 11, 2018 at 07:18:55AM -0400, David Maulik wrote: > Is there any program that can show me the programs on my system > I use the most? [...]
Define "use most". OK, OK. This was a snotty answer, but there's something behind it :-) The system has a very different view of "using" than you have: it can count how often a binary is invoked. It can measure for how long a binary runs (init is started just once every time you start your computer, but runs all the time while your computer is up, to name one extreme example. Likewise a database server or a web server. If you're a command line user, "ls" will be a binary you are invoking lots of times during one session; a shell, or Perl, or Python will be used innumerable times by other programs. On the other extreme, there will be libraries you might never have heard of (libc, libssl, watever) without which many or most of your programs won't run). To give a more specific answer -- if you are a heavy shell user, your shell history might give you a hint; otherwise, you'll have to ask the kernel. I don't think you'll find a ready-made solution, but there are many kernel instrumentation approaches which might be a building block in your quest's solution. To get a more concrete idea, you might look into System Tap [1]; you would select, e.g. the exec family of system calls (which start a binary) and then run some statistics on them (note: not that I'm proposing to *do* this -- rather to look into it to gain insights which might help you to understand the problem space you are trying to cover. As a collateral, and as so often, you will learn a lot of other things :) Cheers [1] https://en.wikipedia.org/wiki/SystemTap - -- tomás -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAltF7TUACgkQBcgs9XrR2ka2qwCdEwukHJ9dzqwgK0O1PMF5RCj1 DqsAn2FJCzEVq/ILh2Gf0Cnm4seWbmXV =SkR/ -----END PGP SIGNATURE-----