Twitter@marathono
icon

Marathono

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.

Besides providing an easy way to add/remove/edit processes, Marathono also:

Download V1.0.9 for macOS 10.10+<- It's free!
Report bugs or propose new features

FAQ

Can I run sudo commands with Marathono?

Yes, you can, but you need to specify the -Aoption which allows Marathono to run an askpass program in order to ask for your password if necessary. For instance, instead of "sudo ping localhost", you will use "sudo -A ping localhost". If you are curious, the askpass program is just an applescript located at /Applications/Marathono.app/Contents/MacOS/askpass.

Can I run short-lived processes with Marathono?

Of course. Nothing stops you from running short-lived processes with Marathono. I do that all the time. I would just imagine people would use Marathono for long-running processes mostly.

But then how do I have Marathono to restart my short-lived process automatically on file system changes?

Turn your short-lived process into a long-running one: my-short-lived-process; while true; do sleep 99999; done

My command works in Terminal but doesn't work in Marathono.

While most commands should just work in Marathono the same way as it works in Terminal, Marathono doesn't have the exact same environment as your shell has. For instance, occasionally Marathono is unable to figure out the full path to a binary executable, then you'll need to specify the full path yourself (you can find out the full path by running "which <binary_name>" in Terminal). In any case, you should be able to figure out a workaround very easily by looking at the output of the command (click "Show Output" in the dropdown menu). Another thing you could try is to enable the option of "Run this command in a pseudo terminal".

My process doesn't quit.

By default, Marathono sends SIGINT to kill your process. One way to verify if your process responses to SIGINT is: run the same command in your Terminal and then hit Ctrl-C to see if it quits promptly without any confirmation. If Ctrl-C doesn't kill your process, you may want to select SIGTERM or SIGKILL as the kill signal for this process in the "Edit Process" window. If none of these signals kills your process, you could try enabling the option of "Run this command in a pseudo terminal".

How do I change the order of processes in the list?

Just drag them around.

The UI looks blurry/translucent?

That's the macOS transparency nonsense which is enabled by default since macOS 10.10. You could disable it in System Preferences -> Accessibility -> Display -> Reduce transparency.

Does Marathono add anything into macOS' login items, startup items, launch daemons, etc?

No, processes are all managed within Marathono itself. Keeping everything inside Marathono is arguably cleaner, but some people like the idea of using Launchd under the hood. This issue is tracked here.

How do I report bugs or propose new features?

Use GitLab issue tracker. If you don't have a GitLab account, you could sign in with your GitHub in just two mouse clicks. You could also ask me quick questions on Twitter.

Is Marathono open source?

No, free apps don't have to be open source, right? I may start charging money for Marathono in the future to help pay my rent ;)

Why Marathono is not in Mac App Store?

Apple requires all apps deployed to App Store to be sandboxed. However, Marathono allows you to run arbitrary commands and thus it cannot really be sandboxed.