
Microsoft Releases a Linux Version of the ProcDump Sysinternals Tool - ArtWomb
https://github.com/Microsoft/ProcDump-for-Linux
======
xtrapolate
This thread is yet another example of "you can't please all the people all of
the time". This tool is a useful addition to the Linux toolbox, made freely
available by Microsoft, in what would be yet another step towards embracing
and supporting OSS - yet for many in this thread, that's just not good enough.

~~~
zgramana
Microsoft skeptics fail to realize that most of the mid- and upper-level
executives increasingly spent their entire career using, creating, and
contributing to F/OSS software. Many of them were involved with early MSFT OSS
efforts back in 2008-2010, and many came from deep Linux/OSS community via
acquisition (Nat Friedman). Hell, the creator of GNOME, Miguel de Icaza,
someone who bears the scars of the Microsoft War on OSS, now resides happily
at Microsoft now.

For whatever faults MSFT has today, any sort of antipathy or guile towards OSS
or Linux is not one among them. Credit where credit is due. Too many are stuck
reliving past glories.

If you want an _actual_ OSS bogeyman, you need only direct your attention to
Oracle. Too many transferred their goodwill towards Sun to a company has,
among other things, tried to claim Java’s APIs as their own intellectual
property. That’s a company that still merits this kind of hand-wringing.

~~~
kilburn
Some Microsoft skeptics are more thoughtful than you concede. For an example,
I _strongly_ suggest you to watch the "Linux Sucks. Forever" talk by Bryan
Lunduke [1] (who worked at MS some ~5 years).

If you don't have the time, the most interesting part starts at 7:29 [2] with
a tour of the many ways Microsoft attacked Linux in the past, while from 13:55
[3] on he goes into how he thinks Microsoft (and others) are hurting Linux
_today_.

[1]
[https://www.youtube.com/watch?v=TVHcdgrqbHE](https://www.youtube.com/watch?v=TVHcdgrqbHE)

[2] [https://youtu.be/TVHcdgrqbHE?t=449](https://youtu.be/TVHcdgrqbHE?t=449)

[3] [https://youtu.be/TVHcdgrqbHE?t=829](https://youtu.be/TVHcdgrqbHE?t=829)

------
slededit
One of the things I miss most about working for Microsoft was all the great
internal tooling. There's stuff that blows away what's available on Linux. I
wouldn't trade it for apt-get any day of the week but it would be nice to see
a lot of it get ported.

~~~
jaxtellerSoA
> One of the things I miss most about working for Microsoft was all the great
> internal tooling

Like what? I am not trying to be snarky here. I honestly would like your
feedback. From my perspective Linux is way better than Microsoft in this
regard, but maybe I am just looking at/using the wrong MS tools?

~~~
slededit
Windows Performance Explorer is an example of something public. It’s like
dtrace on steroids. Page Heap is really helpful for finding buffer overflows.
I’ve never used a debugger with a better UI than the VS one. WinDbg’s reverse
debugging is super powerful and fast enough to be useable.

Not public: the best instrumented profiler I’ve ever used. Smaller things like
Assert tags so you can uniquely ID them. A massive distributed test system
(love hate with that one). Profiling and optimization tools to answer pretty
much any question about how your product behaves.

I always thought MSVC’s dialect of C++ was a little more programmer friendly.
E.g. you can construct an object inline and pass it by reference. The compiler
doesn’t do ridiculous things once it finds out you sign overflowed - it’s
designed to support applications not meet synthetic benchmarks. PDBs make a
lot more sense to me than packing debug info directly in the binary.

~~~
feanaro
> WinDbg’s reverse debugging is super powerful and fast enough to be useable.

For this use case on Linux, there's rr:
[https://github.com/mozilla/rr/](https://github.com/mozilla/rr/)

------
edoo
You can do the exact same with a few lines of bash and the gdb package which
includes gcore, a standard utility that saves core files from running
programs.

~~~
fulafel
I guess the sampling and triggering part is the idea.

There's an "explain vs gcore" issue on the github, which mentions among other
things that they use gcore to generate the core dumps but want to move away
from it: [https://github.com/Microsoft/ProcDump-for-
Linux/issues/13](https://github.com/Microsoft/ProcDump-for-Linux/issues/13)

~~~
SEJeff
So this is kind of more like perf, which includes sampling and triggering
both?

~~~
fulafel
I don't know, pointers to relevant perf functionality would be welcome. I just
looked and couldn't find an obvious way to get core dumps frpm memory or cpu
usage thresholds.

------
Yuioup
My prediction for 2019: Microsoft announces Microsoft Linux, with many
Microsoft store apps working via a compatibility layer. Office for Linux
coming early 2021.

~~~
adrr
Why would they do that? Linux desktop has no penetration into the market. It
would be a big investment to capture an additional 1% market share.

I can see MS porting all their server apps(MSSQL, Exchange, etc) to run on
linux since Linux is dominating the server market and it would be a
significant opportunity for them.

~~~
Ari_Ugwu
This is my guess and the one I'm excited about:

Azure is a cash cow. Windows brings in money but is increasingly difficult to
monetize _and_ its increasingly difficult to keep bringing legacy app support
forward and stay competitive.

PowerShell, .NET Core, and MS SQL are all happily running on Linux.

By all accounts WSL entered the market with little drama is pretty great to
use (IMHO).

The idea of doing a native SSH from WSL into a Linux container on Azure
running a bootstraped 'MS' version of *nix with official support for a
discounted price compared to a Windows VM is certainly appealing.

I would run MS Linux as a dev environment in a heart beat. MS would do well to
_not_ to brand a desktop and just run a very clean gnome or plasma default.

Then a dedicated app store can really push PWAs like Teams,Skype and fully
manage the interop layer for other apps that need a little more hand holding
(wine, mono, etc).

tl;dr - I'm into this.

~~~
cookiecaper
Windows is more or less over and MS has been gradually coming to terms with
it, helped along by inflection points that made it painstakingly clear that
the Windows way was beyond outmoded, like containers and cloud. I don't think
MS is even pretending otherwise anymore.

I wouldn't be surprised at all to see MS give up on WSL, acquire CodeWeavers,
and reimplement "Windows" as a proprietary desktop environment for a nix-ish
OS with a super-souped-up WINE doing much of the legwork. At this point such a
contraption would be less painful than some of Apple's recent transitions
(e.g. from PPC to x86).

Selling software, as a general business model, is on the ropes and this is a
great indication of that. The victory of open-source here is both blatant and
decisive.

Had it not been for every major software company deciding they can subsist on
a combination of a) rental fees and b) advertising/demographic data, we'd
probably have another RIAA v. The Internet-style showdown to confront over the
next decade. In this respect, I suppose we should be grateful for the
opportunity to pay 6x more to be in "the cloud".

As an observer, it's a weird situation to see, and still trying to orient my
feelings and understand what to make of it.

~~~
M_Bakhtiari
> At this point such a contraption would be less painful than some of Apple's
> recent transitions (e.g. from PPC to x86).

I find that hard to believe. Apple only had to build emulators for their ISA
changes, just translating instruction set into another. Doesn't sound painful
at all. WINE on the other hand has good reasons for pointing out that it's not
an emulator.

~~~
cookiecaper
WINE runs most applications extremely well. With actual backing from a MegaCo,
especially the MegaCo that owns all of the IP around Windows, I have no doubt
that a year of work would round out the rough edges such that compatibility
differences don't exceed what would be expected between major versions of
Microsoft Windows.

~~~
tgtweak
Get a working version of .net 4.6 working in wine with text that actually
renders like it does on Windows and I'll admit wine is a viable alterative.

It is getting an appropriate amount of love though in the last year. I'm
really hopeful that it will keep getting better.

------
ilaksh
What about all of the other companies who have built useful Linux tools over
the years? Probably quite a few more useful than this.

I'm sorry but I just don't believe that Microsoft is good for Linux. Although
Linux has only a tiny fraction of the market, it's still one of the few
competitors to Windows. They are competitors. MS does not try to help Linux
out of the goodness of it's heart. They do it despite themselves or for PR or
in an effort to try to mitigate Linux in some way. If possible they would like
to eat Linux up, incorporate a version into Windows. This is not because they
want to help Linux adoption. It's to try to keep developers, who would
otherwise run Linux, inside of Windows.

~~~
wvenable
Microsoft is a cloud provider and mobile is king. This whole Windows vs. Linux
competition for desktop is very old thinking. Microsoft makes money providing
Linux servers, so they support Linux. It's pretty simple.

~~~
afroboy
True, people forgot that 40% of Azure VMs are running Linux.

~~~
oaiey
Microsoft nowadays says something close to 50%. I guess the container
technologies also change a lot in that space.

~~~
GordonS
Azure Kubernetes Service doesn't even _support_ Windows containers yet - they
launched only supporting Linux, with Windows supposedly coming later.

------
kuratkull
I have kind of gotten used to the "New Microsoft", but not really, actions
like this still blow my mind.

~~~
OnlyRepliesToBS
embrace it

~~~
_emacsomancer_
and we all know the next step.

~~~
2bitencryption
yes, a software company releasing a software tool for Linux must surely be
their first step in the grand plan to extinguish the entire marketplace!
Devious, Microsoft, very devious!

~~~
arminiusreturns
If an abuser continuously abuses and then one day is kind, forgive those
abused for skepticism...

------
Wistar
Mark Russinovich is a treasure.

~~~
tgtweak
CTO of azure, not a bad career path.

------
stiglitz
I like the tool but I'm aggravated to see that the sysinternals trope of
printing BROUGHT TO YOU BY MARK RUSSINOVICH [ovich... ovich...] on every use
persists. Pompous.

~~~
beavis2
Can you imagine if they created, for example, core-utils?

~~~
wang_li
Yeah. That'd be awful.

    
    
        $ bc
        bc 1.06.95
        Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
        This is free software with ABSOLUTELY NO WARRANTY.
        For details type `warranty'.
        ^C
        (interrupt) Exiting bc.

------
fulafel
Neat idea, process state sampling by uninvasive core dumps. Is the Windows
version the same concept, does it produce windows minidumps or some such?

------
ezoe
It looks like this tool automatically/periodically dump cores when certain
performance conditions(CPU, memory usage) met.

I don't know but is there no equivalent tool in the entire Linux history?

~~~
hurrrrr
gcore creates dumps and you could do periodic dumps via cron. But performance
triggers aren't easily possible afaik.

------
oropolo
Makes me wonder if the story Wired did in 2005 about Linus Torvalds joining
Microsoft and making a Linux-based version of Windows could actually happen.
Link to that story is here:
[https://news.ycombinator.com/item?id=18383909](https://news.ycombinator.com/item?id=18383909)

------
chappar
Honest question. What is a typical use-case for this tool?

~~~
acdha
Say you have a problem which is hard to reproduce — e.g. your service gets
slow in the early morning but the app-level metrics don’t show anything
unusual, and maybe the problem duration is too short for someone to easily
catch it in action.

You could set a trigger based on CPU or memory load so e.g. the next spike
will capture a few dumps over a set period of time. You don’t have to deal
with a ton of data from a simple periodic trigger or having to try to time an
irregular event — nothing world-changing but a nice time-saver.

------
adzm
Would be great to get ProcDump itself on GitHub as well!

------
machinecoffee
Interesting reading through the code, which looks very much like Win32.

------
thrownaway954
Dont' know why they didn't use C# with .Net Core to write this.

~~~
Someone1234
If I had to guess, the person who produced this likely just wasn't as familiar
with C#/.Net Core. Looking at the code, there's very that wouldn't easily
convert, you would need an unsafe section in C# however.

------
qbaqbaqba
Thank you Microsoft.

------
satysin
Microsoft do cool things like this which makes me think "oh wow they really
are a different company to 15 years ago"

So I go and check out a new Windows 10 laptop and the first thing I see, even
on Microsoft's own Surface devices running a 'clean' Windows install, is a
bunch of adverts on the start menu and sigh.

FFS Microsoft.

Why do you do so many great things then ruin your most popular brand with crap
like Candy Crush and Twitter on your clean Windows install on your £3000+
premium laptop running Windows 10 Professional?

Not to mention how you _conveniently_ always reset my settings to _your_
defaults including reinstalling all your ad-crap every 6 months with a new
Windows release. So I have to go find that damn PowerShell script again to
wipe them out because a _normal_ uninstall option is just too much to ask for
isn't it!

Honestly it does my head in. Windows 10 is a solid OS but they trash it with
these awful little pointless decisions. Fine stick your Candy crap in the Home
edition but leave Professional alone, especially as you offer me _no_
alternative as an independent development as I can't meet your Enterprise
level requirements.

Do you see Apple loading up third-party apps into macOS? No? I wonder _why_.

Solving a lot of the complaints about Windows 10 isn't some super hard
development problem. All they have to do is provide an actual clean version of
Windows 10 with no third-party crap and cut out a few of the MS apps as well
like 3D Paint (really?), 'Get Office' (again really? In your Professional
version?), stop nagging me about changing from your own products, remove all
'suggestions' and tips, allow me to properly disable Cortana and OneDrive with
a single option and they be actually gone for good, and maybe have an option
to fully disable telemetry (not that I would as I know it is beneficial to you
and I but it will shut up some noisy people online and makes everyone happy).

See not that hard is it? Also please go to a one release per year. The fact
you have screwed up the last _two_ consecutive updates shows you are pushing
to do too much too quickly. Who are you in a race with anyway? Just take your
time and do a nice solid update every Spring and everyone will be much
happier.

~~~
zapzupnz
Being fair, the advertisements can be switched off (and Windows Setup offers
this during the Out of Box Experience when the computer is first used or a
major update occurs), and those icons can be removed fairly simply. Also,
those third party apps aren't preinstalled; they're just shortcuts to the
Microsoft Store to download them.

I see a lot of people spending more energy ranting about this, a problem that
doesn't necessarily exist in the way that people might think, than doing a
quick investigation to find that the apps aren't there in the first place.

~~~
paranoidrobot
> Being fair, the advertisements can be switched off

Sorry, but Citation required.

I've installed more than my fair share of Windows 10 Home and Pro versions,
had both shipped on new devices and nowhere was I offered any options which
controlled installing this shit.

> a problem that doesn't necessarily exist in the way that people might think

Even if it was a shortcut to the Windows Store, but it still there eating up
space on the start screen... But even still it doesn't help.

I have to go uninstall it (because yes, it's actually installed goddamn Candy
Crush and other shit for me)

I'll open up my laptop and find it's decided that it'll install Windows Update
right now and fuck whatever I wanted to do with the machine.

Worse, once it's completed it's screwing with _my_ machine, it's gone and re-
installed shit, and now bugs me (again) about "Hey, instead of using Chrome,
how about you use Edge!" and has reset a bunch of other system options to be
the way MS wants them.

I'm hardly alone in this experience - I saw at least half a dozen presenters
at NDC Oslo last year bitching about this happening to them the morning
of/right before presentations, and I've had it happen to me during
meetings/conference calls/etc - where it's fucked off with work that I'm in
the middle of.

Windows 10 is why I'm on a full-on effort to move my primary machines over to
Linux after decades of Windows use.

~~~
philliphaydon
It’s in the advanced options of the install process..............

~~~
paranoidrobot
Ok, which specific advanced option, and where? Are certain key combinations
required? Is it only settable by putting options in a config file?

Please be specific, and/or link to any relevant documentation.

'cause I hit Advanced any time there was an option, and switched every privacy
setting/tracking option off. Yet it still installs ads for Office, various
other Bing shit, Installs Candy Crush, etc.

~~~
zapzupnz
During the OOBE, one of the options is 'Tailored Experience'. The blurb under
it notes that disabling it will disable ads and recommendations.

~~~
satysin
I just tried this on a the latest version of Windows 10 and with _everything_
disabled during the OOBE I _still_ get Candy Crush, Twitter, Minecraft, Get
Office, etc. in the start menu.

How do I avoid those using settings in the OOBE?

~~~
zapzupnz
Those I don't think you can get rid of because they're shortcut files that
happen to show up in the Start Menu by default. Easily enough gotten rid of,
though.

------
yarrel
Microsoft need to make Windows more free, not try to enclose GNU/Linux.

This is trivial to understand if you're looking at user freedom rather than
just typing "yay open source! MS loves us nao!!!!" as you are nudged ever more
meaningfully into the funnel for their cloud.

------
kerng
These Windows is really that makes Microsoft look bad. Imagine being the
developer who wrote this and now the top comment is about how Windows ads and
default games suck.

------
qwerty456127
What they will probably never port to Linux is the real thing that makes
Windows valuable - Microsoft Office.That's exactly the thing, absence of which
makes Linux "not ready for desktop" (sort of sarcasm, I use Linux on desktop
happily and LibreOffice is usually enough for me but many people and companies
don't just because of this). If only they would I would absolutely buy it and
would be also able to replace Windows on just so many business computers with
Linux.

~~~
apexalpha
Try OnlyOffice! [https://www.onlyoffice.com/](https://www.onlyoffice.com/)

~~~
qwerty456127
Doesn't you have to run a server (or use a 3-rd party server) for this?

------
pronik
Adding to the Microsoft/FLOSS debate: I'm extremely cautious about their
current efforts. I do not trust them. At all. I don't actually need to trust
them, since I've left their ecosystem for Linux some 18 years ago and I don't
have plans to go back. But there is also a user base of individuals and
companies who are just more comfortable using Linux/FLOSS at the moment and
this larger user group is exactly what Microsoft is after. Far too many times
have I seen "Windows 10 with WSL and VSCode is a great development
environment" on this very site, which from my point of view is exactly where
Microsoft wants us to be, on the tipping point from Linux/Mac to Windows. They
are pulling every uprising technology to their platform to make the decision
to move back feasible for people and companies alike and thus stay relevant
themselves. In times of IBM buying Red Hat this is something I've very anxious
about.

And like many others have said: Microsoft is just beginning to act like "good
guys", but these five or six years aren't nearly enough to forget and forgive.
I remember an OSCON keynote by Steve Yegge called "How to Ignore Marketing and
Become Irrelevent in Two Easy Steps" (which is great in itself and really
difficult to get by since blip.tv went down), where, among other things, he's
telling the story of Bell Atlantic, which later became Verizon. The reason for
the rebranding has been a study about the time period needed for people to
forget about the bad (bad service, bad technology) and associate the brand
with something good (upgraded service, upgraded technology). This study's
answer has been "a generation", which is roughly what I would have guessed,
based on several brand names stuck in my mind. I don't think I would trust
Microsoft more 20 years from now, but I might not take such a hard stance on
them if they don't go beyond the "embrace" phase in that time. If they do,
well, that's another generation from them to outlive.

------
Hello71
Seems like a very Windows tool. By that I mean it's a full "application" to do
what could be done in about 15 lines of shell script:

    
    
      #!/bin/bash
      set -e
      pid=$1
      if [[ "$pid" = *[^0-9]* ]]; then
          pid=$(pgrep -x "$pid")
      fi
      lasttime=$((2**64))
      while sleep 10; do
          read pid comm state ppid pgrp session tty_nr tpgid flags minflt cminflt majflt cmajflt utime stime cutime cstime priority nice num_threads itrealvalue starttime vsize rss rsslim startcode endcode startstack kstkesp kstkeip signal blocked sigignore sigcatch wchan nswap cnswap exit_signal processor rt_priority policy delayacct_blkio_ticks guest_time cguest_time start_data end_data start_brk arg_start arg_end env_start env_end exit_code < /proc/$pid/stat
          newtime=$((utime+stime))
          if (( newtime - lasttime > 1 )); then
              gcore $pid
          fi
          lasttime=$newtime
      done
    

This one has the benefit of being extensible to handle whatever metric you
want, or execute whatever command you want, change the polling period...

~~~
WalterGR
Where are the command line arguments other than the pid? Where are the tests?

 _This one has the benefit of being extensible to handle whatever metric you
want, or execute whatever command you want, change the polling period..._

Yeah, you also have to edit it every time you want to use it. It’s a chunk of
shell script, not a reusable tool.

------
userbinator
_ProcDump is a Linux reimagining of the classic ProcDump tool_

"reimagining"? Why the obfuscatory marketingspeak? "Linux version of the
ProcDump..." would've been far clearer and more familiar.

I wasn't aware Sysinternals had its own tool of similar function with the same
name --- the ProcDump I know of was written by a few crackers 2 decades ago
and very useful for unpacking: "ProcDump version 1.6 (C) G-RoM, Lorian & Stone
in 1998, 1999, 2000"

~~~
exikyut
Heh. I think it's because I just woke up, but when you said "a few crackers" I
thought you meant "a few crazy people", in a nice way of course.

Googling promptly cleared up that misunderstanding (although I was probably
only half wrong ;) ).

You're referring to ProcDump32. Googling "ProcDump32 1.6.2" seems to do the
trick for finding it.

References: (don't fall in :D)

\-
[http://vinaylimbare.blogspot.com/2010/](http://vinaylimbare.blogspot.com/2010/)

\- [https://cagglararli.wordpress.com/2015/01/15/re-
building/](https://cagglararli.wordpress.com/2015/01/15/re-building/)

\-
[http://karpoff.esy.es/manuales/topcite/archivos/UpxManual.ht...](http://karpoff.esy.es/manuales/topcite/archivos/UpxManual.html)
(site says it's shutting down in 2 weeks; / is only 58MB when wget -r'd)

\- [https://xakep.ru/2004/08/23/23546/](https://xakep.ru/2004/08/23/23546/) (a
Russian article whose author completely confuses ProcDump and ProcDump32)

\-
[http://web.archive.org/web/20010721135909/http://procdump32....](http://web.archive.org/web/20010721135909/http://procdump32.cjb.net:80/)
(the canonical home, but all outbound (archived) links broken)

-

~~~
userbinator
_-[http://web.archive.org/web/20010721135909/http://procdump32....](http://web.archive.org/web/20010721135909/http://procdump32...).
(the canonical home, but all outbound (archived) links broken)_

The front page of the Immortal Descendants site appears to have been archived,
however:
[http://web.archive.org/web/20010410075344/http://www.immorta...](http://web.archive.org/web/20010410075344/http://www.immortaldescendants.org:80/begin.htm)

This takes me back... and now someone else has unfortunately "namesquatted"
them.

