
Show HN: Marathono – A GUI tool for managing long-running processes in macOS - yliang
http://www.marathono.com/
======
lobster_johnson
This looks nice, but I wish it would just use Launchd under the hood.

Launchd is solid and full-featured:

* Good process management (failure retries with backoff)

* Supports watching folders

* Decent command-line client for when you want to script or work fast in the shell

* Supports starting daemons on login

* Can start/stop based on whether certain things (network, paths, mounts, etc.) are up/down

* Supports calendar-based scheduling (replaces cron)

* Can redirect logging

* Can enforce resource limits (RAM, CPU, I/O, number of processes etc.) + nice level

I run all my daemons (Homebrew apps as well as personal development stuff)
under Launchd, and I would love a convenient menu-bar GUI like this.

~~~
ndrake
Lingon is a GUI for managing Launchd, but does not have a menubar widget.

[https://www.peterborgapps.com/lingon/](https://www.peterborgapps.com/lingon/)

~~~
lobster_johnson
Yes, I used it a long time ago. It was very buggy then, probably better now.
Not free, though, and as you say, no menu bar support.

------
donatj
I'm at the point in my life where I simply don't trust free software that
isn't open source. I've been burned too many times.

Either charge me money so we have a legal bond, or open source it.

Free closed source is untrustworthy software that may just disappear/break
with no respite.

If it's open source and you stop maintaining it, I can fix it myself or at
least try to. It if isn't, I'm screwed. I won't become dependent on software I
can't trust to work years from now - I don't need that in my life.

~~~
subway
Why do you assume Open Source is really any better?

Have you seen the absurd number of 'Go download the latest version of this dep
from some 3rd party remote host' steps in the build processes of modern
software (oss or not)? Or my favorite 'Just use this image we pushed to
dockerhub as your startingpoint for building our software'.

~~~
donatj
Because I can at least _try_ to fix it when it fails. I'm not completely
helpless. I can't simply have the rug pulled out from under me.

I've had a fair number apps in recent years, particularly those sold in the
App Store that had become vital parts of my workflow entirely stop working
after OS upgrades, and the author no where to be found.

------
matt4077
It's somewhat similar to
[https://github.com/typicode/hotel](https://github.com/typicode/hotel),
although more generic.

I feel a bit discouraged from trying it by the uncertainty about the eventual
price. I guess they're going to start charging for it at some point and that's
ok. But I'd like to know a broad range before I start depending on it.

~~~
yliang
The "may start charging for it" piece is mostly for stopping people from
asking me to open source the app. If I do start charging money, it will
probably be at the price of a burger.

I'm the developer of PSequel (a popular PostgreSQL client,
[http://www.psequel.com/](http://www.psequel.com/)) and it has been free since
it came out two years ago. I got people asking for open sourcing it almost
every single day. Many people assume free == open source.

~~~
leppr
As an offender to this kind of behavior, I think it's more of a feeling that
the only really compelling arguments against open-source apply only to
commercial software, so you, the author of a free app, may be more easily
convinced into open-sourcing.

And actually I'm curious, what would you say is your main reason for keeping
the source code of your free tools private? (ugly code being a totally
acceptable answer to which I can relate :))

~~~
gerry_shaw
As a developer that has closed source free programs and has run open source
programs, sometimes I just don't want to deal with the extra effort of having
to manage an open source project. This is usually true when I'm building
something for myself but then share (for free) where I think others might
enjoy using.

~~~
leppr
Well, open-sourcing doesn't mean you have to manage anything, it's perfectly
fine to say you don't take any external contribution and expect people to fork
the project if they want to.

------
tbrock
Just use "brew services", it couldn't be easier.

~~~
outworlder
I thought that was a frontend for brew services. Apparently it's not.

~~~
zuck9
There is BitBar and it works great with brew services and a lot of other
things.

------
tedmiston
This is cool.

Is anyone else using tmux (backgrounded) for this use case today?

I'm not arguing that tmux is without tradeoffs, but the tmux integration in
iTerm is pretty good.

~~~
donatj
I as well use tmux as a lazy hack for things I don't want to bother adding to
Launchd

------
jiiam
Seems nice but the fact that it's not open source is a strong deterrent to
start using it until there's a community using it.

------
primitivesuave
I was thinking about making a terminal utility for doing this a couple days
ago, the Mac app you made is so much better. I'll definitely be using this and
upgrading to your paid version when you put it out.

The major annoyance I was having is when a long-running process dies, I might
waste a couple minutes trying to figure out what's going on, only to realize
that a gulp build stopped or some service crashed. Even if it only wastes a
couple minutes here and there, the time and frustration add up.

Thank you for taking the time to make this available to everyone!

------
reacharavindh
Awesome tool. Very simple and focussed as it should be. Definitely prefer this
over the bunch of launchd scripts spread all over my system.

Will definitely upgrade to your future paid version if you retain the
simplicity and promise to respect privacy.

Cheers!

------
pier25
The project needs a new logo, and a new name.

~~~
yliang
Agree on the logo part. Could you tell me why you think the name is bad?

~~~
pier25
I don't like the sound of it, and it seems a name for a lifestyle / sports
app.

~~~
yliang
Apparently it's also a popular name for developer tools.
[https://mesosphere.github.io/marathon/](https://mesosphere.github.io/marathon/)

------
zongitsrinzler
Wow, this is super convenient. Thanks!

------
qwertyuiop924
Pah. GUIs are for wimps. I use nohup $COMMAND &, or datch/tmux if I need to
re-attach later. And listing your running daemonized processes is for wimps
who can't use ps.

/joke

------
daturkel
This looks fantastic. I could see this speeding up a lot of build processes
for all sorts of devs. (Just realized, auto-compiling modified latex docs is
another great use-case).

------
StyloBill
I love this tool, it's very convenient. Thanks for your work!

The only thing I don't really like is the icon. I find it a bit cluttered.

I'll gladly pay a few bucks to keep this in my toolbelt.

~~~
yliang
lol..not a designer. I just put together some hand-drawing over the weekend.
Will probably redesign the icon to make it a more serious app..

------
rkv
Great tool.

On OS X 10.11 using a dark theme causes the menulet to color the padding of
the UI elements which makes it difficult to see the entries in the list.

~~~
yliang
Hmm..I'm also using 10.11 with the dark theme. Does the app on your machine
look very different from what I show in the second screenshot at
[http://www.marathono.com/](http://www.marathono.com/)? If it does, please
consider reporting a bug thru the Help menu of the app.

~~~
rkv
Yes, see[1]. Another user also reported the UI defects using the light theme
as well on 10.11.6.

1\.
[https://gitlab.com/marathono/marathono/issues/5](https://gitlab.com/marathono/marathono/issues/5)

------
daemonk
I work mostly remotely by ssh-ing into the work ubuntu server from my macbook,
so I don't really use the local terminal all that much. I've noticed in the
past that the local osx terminal can be somewhat different from a standard
terminal. Is there no screen or nohup in the local osx terminal for long
running processes?

------
egeozcan
Is this like a "services.msc"[1] for MacOS?

[1]: Microsoft Windows Services console.

~~~
frou_dh
No, because macOS's "real" services infrastructure is all about interacting
with `launchd` and its idea of job definitions.

If I'm not mistaken, the infamous systemd was influenced by launchd.

------
nikolay
Let's not forget the Homebrew-friendly LaunchRocket [0]!

[0]:
[https://github.com/jimbojsb/launchrocket](https://github.com/jimbojsb/launchrocket)

------
scrabble
I could see myself getting use out of this. Thanks!

------
infinitone
Is there something like this but for windows?

------
realworldview
I don't get it. Sorry.

~~~
anon4711
The use-case? Well, you have a process that will run for a long time. You
don't want to keep a terminal open. You /could/ just detach it. Now what if
you want to kill it? Open another terminal, kill it by PID or through pkill.
Clicking a button might be more convenient.

~~~
jbverschoor
And sometimes you'd want to watch the output. I like it.. Less clutter.

~~~
noobermin
Screen? Tmux?

>Marathono is a small GUI tool that helps you manage long-running processes in
macOS, so you don't have to maintain multiple windows/tabs/tmux sessions in
your Terminal.

How about one tmux session and a couple of windows? You could name the windows
perhaps. I could see how this might not scale, but I bet my socks someone else
has found a way to script this and make it easy.

I know we don't want to be overly negative on HN, but this doesn't sound like
a problem that needed a completely newly rolled solution.

So you have GUI output. What if I want to grep or save it to a file? I can see
how this will be usable for people who aren't comfortable with a terminal--as
a someone who transplated linux-to-mac, I know how terrible the terminal
experience is on mac.

EDIT: below I was corrected that Marathono does all manipulating text output,
+1.

~~~
smacktoward
_> So you have GUI output._

Which seems like it would be a Big Deal, for a Mac user. The entire appeal of
the Mac (for a developer) is that it layers a friendly GUI over a Unix-ey
foundation. Presumably a user who values that GUI would also value GUI-
oriented ways to do things that were previously terminal-only.

If "just use screen" was an answer that would make that user happy, they
wouldn't have spent the extra money to buy a Mac in the first place.

~~~
yliang
The "Show Output" menu of Marathono opens a Terminal/iTerm tab to tail the
output. Currently Marathono is designed for start-and-forget kind of processes
- outputs are for occasional debugging purpose only.

~~~
vikeri
Does this have to be the case? I have a couple of long running processes that
I would really like to check the output of from time to time. Couldn't you
have an option to just show the last line for example? Was super excited to
see this as I've been bugged by exactly this but if I can't see the output
it's a dealbreaker for me unfortunately

~~~
yliang
What do think would be a place to show "the last line"? Or would [1] be more
useful for your use case? If not, would you mind creating a new issue?

1\.
[https://gitlab.com/marathono/marathono/issues/7](https://gitlab.com/marathono/marathono/issues/7)

~~~
vikeri
Posted an issue here:
[https://gitlab.com/marathono/marathono/issues/10](https://gitlab.com/marathono/marathono/issues/10)

