user-startup
Automatically run commands when the user logs in. Used in hotel and stop-server.
- No admin privileges required
- Cross-platform (OS X, Linux and Windows)
Install
npm install user-startup --save
Usage
Create a new instance.
const Startup = require('user-startup')
let startup
try {
startup = Startup()
} catch (err) {
// Unsupported platform
}
Add startup script but doesn't spawn process. Use create
to create startup file and process at the same time.
startup.create(
'my-script', // id
process.execPath, // cmd
['/some/path/app.js'], // args
'/some/path/out.log' // out
)
Remove startup script.
startup.remove('my-script')
Note: you should check that root isn't running this code to avoid startup scripts being created in root's home directory. Use sudo-block or is-root.
API
Startup()
Creates a new instance. Throws an error if platform isn't OS X, Linux or Windows.
add(id, cmd[, args[, out]])
id <String>
idcmd <String>
commandargs <Array>
optional list of string argumentsout <String>
optional path to output file (directory needs to exist before)
Creates startup script.
create(id, cmd[, args[, out]])
Creates a startup script and spawns process.
remove(id)
Removes startup script.
dir
Returns startup script directory.
getFile(id)
Returns startup script path.
How it works
- On OS X, it creates a
plist
file in~/Library/LaunchAgents
- On Linux, it creates a
desktop
file in~/.config/autostart
- On Windows, it creates a
vbs
script inAppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
License
MIT - Typicode