MacBookPro.lan 2026-6-5:1:5:57

This commit is contained in:
oskar
2026-06-05 01:05:58 +02:00
parent 3926ea5536
commit 17d6cff644
4 changed files with 212 additions and 2 deletions
+2 -2
View File
@@ -245,7 +245,7 @@
"prevs"
],
"lock_view": false,
"lock_path": "formule conséquence d'un ensemble de formules.md",
"lock_path": "launchy-go.md",
"custom_sort_fields": false,
"custom_sort_field_labels": []
},
@@ -254,7 +254,7 @@
"show_attributes": [],
"merge_fields": false,
"lock_view": false,
"lock_path": "formule conséquence d'un ensemble de formules.md",
"lock_path": "launchy-go.md",
"field_group_labels": [
"downs"
],
+21
View File
@@ -0,0 +1,21 @@
---
up:
- "[[ligne de commande]]"
- "[[système d'exploitation]]"
tags:
- s/informatique
aliases:
---
Outil qui gère des daemons.
```breadcrumbs
title: "Sous-notes"
type: tree
collapse: true
show-attributes: [field]
field-groups: [downs]
depth: [0, 0]
```
+28
View File
@@ -0,0 +1,28 @@
---
up:
- "[[launchd]]"
- "[[terminal commandes]]"
tags:
- s/informatique
aliases:
---
Wrapper autour de `lauchctl` pour configurer plus aisément [[launchd]].
- gh https://github.com/sosedoff/lunchy-go
- source:: [[sosedofflunchy-go OSX Launch Manager]]
# Installation
`brew install launchy-go`
# Cheat sheet
`launchy ...`
- `ls` [pattern]
- `start` [pattern]
- `stop` [pattern]
- `restart` [pattern]
- `status`, `ps` [pattern]
- `install` [file]
- `show` [pattern]
- `edit` [pattern]
- `remove`, `rm` [pattern]
- `scan` [path]
@@ -0,0 +1,161 @@
---
link: "https://github.com/sosedoff/lunchy-go"
created: 2026-06-05
tags:
- "#t/clippings/github"
---
## lunchy-go
A friendly wrapper for launchctl. Start your agents and go to lunch!
This is a port of original [lunchy](https://github.com/mperham/lunchy) ruby gem by Mike Perham with extra functionality.
## Overview
Don't you hate OSX's launchctl? You have to give it exact filenames. The syntax is annoying different from Linux's nice, simple init system and overly verbose. It's just not a very developer-friendly tool.
Lunchy aims to be that friendly tool by wrapping launchctl and providing a few simple operations that you perform all the time:
- ls \[pattern\]
- start \[pattern\]
- stop \[pattern\]
- restart \[pattern\]
- status, ps \[pattern\]
- install \[file\]
- show \[pattern\]
- edit \[pattern\]
- remove, rm \[pattern\]
- scan \[path\]
where pattern is just a substring that matches the agent's plist filename.
So instead of:
```
$ launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist
```
you can do this:
```
$ lunchy start redis
```
and:
```
$ lunchy ls
com.danga.memcached
com.google.keystone.agent
com.mysql.mysqld
io.redis.redis-server
org.mongodb.mongod
```
## Install
You can install binary by running the following bash command:
```
curl -s https://raw.githubusercontent.com/sosedoff/lunchy-go/master/install.sh | bash
```
#### Homebrew
Install using [Homebrew](https://brew.sh/):
```
brew install lunchy-go
```
#### Binary Releases
Precompiled binaries are available on Github: [https://github.com/sosedoff/lunchy-go/releases](https://github.com/sosedoff/lunchy-go/releases)
#### Build from source
Build source code with Go 1.2+:
```
git clone https://github.com/sosedoff/lunchy-go.git $GOPATH/src/lunchy
cd lunchy
go build
mv ./lunchy-go /usr/local/bin/lunchy
```
## Usage
Add a new plist:
```
# Install plist
$ lunchy install /usr/local/Cellar/redis/2.8.1/homebrew.mxcl.redis.plist
```
Manage services:
```
$ lunchy start redis
$ lunchy stop redis
$ lunchy restart redis
$ lunchy status redis
```
If you have multiple plists from homebrew, you can simple control all of them:
```
$ lunchy status
homebrew.mxcl.elasticsearch
homebrew.mxcl.mysql
homebrew.mxcl.postgresql
homebrew.mxcl.redis
# Will stop all processes prefixed by "homebrew"
$ lunchy stop homebrew
```
Manage plists:
```
$ lunchy show redis
$ lunchy edit redis
```
Scan directory for existing plists:
```
$ lunchy scan /usr/local/Cellar
```
Scan all homebrew plists:
```
$ lunchy scan homebrew
```
## Profiles
When switching between different projects you might find yourself stopping and starting lots of different daemons in order to reduce memory usage. This is all good but there's a better way of doing it. Enter lunchy profiles.
Profile file `.lunchy` should be placed under your project's root directory and include a list of services that needs to be started or stopped. Example:
```
postgres
redis
elasticsearch
```
Then you can simply run the following command to start/stop/restart ALL of them at once:
```
lunchy start
lunchy stop
lunchy restart
```
## License
The MIT License (MIT)
Copyright (c) 2013-2015 Dan Sosedoff, [dan.sosedoff@gmail.com](mailto:dan.sosedoff@gmail.com)