1

Upon launching, the Reverso app spawns two processes - Reverso (the app itself) and the annoying Reverso Helper, which occupies the menu bar with its icon and remains active even after cmd+Q -ing the main app.

killall "Reverso Helper" does kill the unwanted process while keeping the main program intact. However, if the main app remains open for a dozen of seconds, the Helper process gets spawned again.

ps -o ppid=, -p $(pgrep "Reverso Helper") | xargs ps -p tells us that the parent process of both Reverso and Helper is 1 /sbin/launchd, "the service management framework used by macOS, similar in some ways to systemd on Linux", which is interfaced through a terminal tool launchctl.

I studied the launchctl manual rather superficially and looked for the Reverso Job Defenitions files in specified directories, but didn't find any. I didn't want to dig deeper in this direction.

I feel like I'm missing a more obvious and elegant way to prevent a process with certain name from starting on any Unix-like system, which would be much more useful to know than some macOS-specific stuff. Please, share your ideas.

4
  • 1
    Most (maybe all) helper apps have a purpose - be sure you want to remove its functionality. The Reverso helper app is how the Control-C-C shortcut is made available to all apps even when the main Reverso app is not running.
    – Gilby
    Jan 12, 2022 at 21:35
  • @Gilby, I know what it declares to be doing in the background. However, I find such behaviour to be annoying and contradictory to macOS UX principles. Every GUI app should be completely cmd+Q -able (except for Finder).
    – Nick S
    Feb 3, 2022 at 16:32
  • 2
    If you don't like the way Reverso is designed to operate, you could try another similar app - like Translatium. Many apps have to work with helper processes to conform with Apple's design restrictions.
    – Gilby
    Feb 3, 2022 at 21:47
  • Well, as far as I understand your question, you have a problem with the helper respawning while the main application is running. Once you quit the main application you should be able to kill the helper as well.
    – nohillside
    Feb 3, 2022 at 22:02

1 Answer 1

0

While you could (in theory) wrap the exec() system call to prevent certain paths/names from getting executed, this would be a rather weak protection as any binary can be easily renamed to work around the block.

To prevent an user-installed application from getting launched is to remove all the access rights from it via Terminal.

chmod 000 "/Applications/APP NAME.app/Contents/MacOS/*

For system applications you can at least pause/stop the process by running

killall -STOP "APP NAME"

The process will stay but will not take any CPU time any longer. The icon in the menu bar will remain visible though.

1
  • Thanks for your answer! Could you please elaborate on preventing the execution? The menu bar space is too precious to waste :) I've found one sledgehammer approach to my problem - deleting the Helper app from Reverso's package contents. But I would definitely like to know a more general-purpose method.
    – Nick S
    Feb 3, 2022 at 16:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .