<p>nodemon์€ nohup์œผ๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๊นŒ?</p>

์— ๋งŒ๋“  2014๋…„ 02์›” 14์ผ  ยท  34์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: remy/nodemon

๋‚˜๋Š” nohup nodemon server.js & ํ•ฉ๋‹ˆ๋‹ค. nodemon์ด ๊ณง ์ฃฝ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

help wanted

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค : nohup nodemon app.js </dev/null &

์„ธ๋ถ€ ์ •๋ณด : https://github.com/remy/nodemon/issues/98

๋ชจ๋“  34 ๋Œ“๊ธ€

์—์„œ์™€ ๊ฐ™์ด ์ฃฝ์—ˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ง€์†๋˜์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๊นŒ? ์ข€ ๋” ๋งŽ์€ ์ •๋ณด๋กœ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์— ๋„์›€์ด ๋ ๊นŒ์š”?

๋‚˜๋Š” nodemon์„ ์‹คํ–‰ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

    [root<strong i="6">@vm</strong> dms]# nodemon server/server.js
    19 Feb 02:53:23 - [nodemon] v1.0.14
    19 Feb 02:53:23 - [nodemon] to restart at any time, enter `rs`
    19 Feb 02:53:23 - [nodemon] watching: *.*
    19 Feb 02:53:23 - [nodemon] starting `node server/server.js`

ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    [root<strong i="10">@vm</strong> dms]#
    [root<strong i="11">@vm</strong> dms]# nohup nodemon server/server.js &
    [1] 19973
    [root<strong i="12">@vm</strong> dms]# nohup: ignoring input and appending output to `nohup.out'
    [1]+  Exit 1                  nohup nodemon server/server.js

๋‹ค์Œ์€ nohup.out์˜ ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

    [root<strong i="16">@vm</strong> dms]# cat nohup.out
    -----------------------------------------
    Update available: 1.0.15 (current: 1.0.14)
    Run npm update -g nodemon to update
    -----------------------------------------
    19 Feb 02:53:53 - [nodemon] v1.0.14
    19 Feb 02:53:53 - [nodemon] to restart at any time, enter `rs`
    19 Feb 02:53:53 - [nodemon] watching: *.*
    19 Feb 02:53:53 - [nodemon] starting `node server/server.js`
    exception in nodemon killing node
    Error: EBADF, read

    If appropriate, please file an error:
    http://github.com/remy/nodemon/issues/new

2014 ๋…„ 2 ์›” 19 ์ผ ์ˆ˜์š”์ผ ์˜ค์ „ 4:48, Remy Sharp [email protected]

์—์„œ์™€ ๊ฐ™์ด ์ฃฝ์—ˆ์Šต๋‹ˆ๊นŒ? ์•„๋‹ˆ๋ฉด ์ง€์†๋˜์—ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋ฉ๋‹ˆ๊นŒ? ๋‚˜๋Š” ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค
์กฐ๊ธˆ ๋” ๋งŽ์€ ์ •๋ณด. ๋””๋ฒ„๊น…์— ๋„์›€์ด ๋ ๊นŒ์š”?

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ํšŒ์‹ ํ•˜๊ฑฐ๋‚˜ Gi tHub์—์„œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
.

๋‚˜๋Š” ๋˜ํ•œ ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ธ ๋ชจ๋“œ์—์„œ nodemon์„ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ–ˆ์ง€๋งŒ ๋ณ„ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. nohup์œผ๋กœ nodemon์„ ์‹คํ–‰ํ•˜๋ ค๊ณ ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

work : ~ / workspace / discovery-logging> nohup nodemon --verbose serve.js &
[1] 22313
work : ~ / workspace / discovery-logging> nohup : ์ž…๋ ฅ์„ ๋ฌด์‹œํ•˜๊ณ  ์ถœ๋ ฅ์„`nohup.out '์— ์ถ”๊ฐ€

[1] + exit 1 nohup nodemon --verbose serve.js

์ž‘์—… : ~ / ์ž‘์—… ๊ณต๊ฐ„ / ๊ฒ€์ƒ‰ ๋กœ๊น…>
work : ~ / workspace / discovery-logging> cat nohup.out
3 ์›” 5 ์ผ 04:27:30-[nodemon] v1.0.15
3 ์›” 5 ์ผ 04:27:30-[nodemon] ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด rs
3 ์›” 5 ์ผ 04:27:30-[nodemon] ๋ฌด์‹œ : /home/user/workspace/discovery-logging/.git/ / * node_modules / / node_modules
3 ์›” 5 ์ผ 04:27:30-[๋…ธ๋“œ ๋ชฌ] ์‹œ์ฒญ : _._
3 ์›” 5 ์ผ 04:27:30-[nodemon] ํ™•์žฅ ์‹œ์ฒญ : js
3 ์›” 5 ์ผ 04:27:30-[nodemon] node serve.js
3 ์›” 5 ์ผ 04:27:30-[nodemon] ์ž์‹ pid : 22319
nodemon ์ข…๋ฃŒ ๋…ธ๋“œ์˜ ์˜ˆ์™ธ
์˜ค๋ฅ˜ : EBADF, ์ฝ๊ธฐ

ํ•ด๋‹นํ•˜๋Š” ๊ฒฝ์šฐ ์˜ค๋ฅ˜๋ฅผ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค : http://github.com/remy/nodemon/issues/new

3 ์›” 5 ์ผ 04:27:30-[nodemon] ์ข…๋ฃŒ

๋ˆ„๊ตฐ๊ฐ€ ๋˜‘๊ฐ™์€ ๋ช…๋ น์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ --dump ๋ฅผ ์ถ”๊ฐ€ ํ•œ ๋‹ค์Œ ์—ฌ๊ธฐ์— ์ถœ๋ ฅ์„ ๊ฒŒ์‹œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

-----------------------------------------
Update available: 1.0.17 (current: 1.0.15)
Run npm update -g nodemon to update
-----------------------------------------
25 Apr 13:41:14 - [nodemon] v1.0.15
25 Apr 13:41:14 - [nodemon] to restart at any time, enter `rs`
25 Apr 13:41:14 - [nodemon] ignoring: /home/aamir/workspace/saiku-ui/.git/**/* node_modules/**/node_modules
25 Apr 13:41:14 - [nodemon] watching: *.*
25 Apr 13:41:14 - [nodemon] watching extensions: js
--------------

{ run: false,
  system: 
   { cwd: '/home/aamir/workspace/saiku-ui',
     useFind: false,
     useWatch: true,
     useWatchFile: false },
  required: false,
  dirs: [ '/home/aamir/workspace/saiku-ui' ],
  timeout: 1000,
  options: 
   { scriptPosition: 1,
     dump: true,
     verbose: true,
     script: 'serve.js',
     args: [],
     ignore: 
      [ '.git',
        'node_modules/**/node_modules',
        re: /\.git|node_modules/.*.*/node_modules/ ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     stdout: true,
     execOptions: 
      { script: 'serve.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        env: {},
        execArgs: [] },
     ext: 'js',
     monitor: 
      [ '*.*',
        '!/home/aamir/workspace/saiku-ui/.git/**/*',
        '!node_modules/**/node_modules' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [],
  command: 
   { raw: { executable: 'node', args: [ 'serve.js' ] },
     string: 'node serve.js' } }

--------------
OS: linux ia32
node: v0.10.26
nodemon: v1.0.15
cwd: /home/aamir/workspace/saiku-ui
command: node /usr/bin/nodemon --dump --verbose serve.js
--------------
25 Apr 13:41:14 - [nodemon] exiting
-bash-4.1# nohup nodemon --dump server/server.js &
[1] 30753
-bash-4.1# nohup: ignoring input and appending output to `nohup.out'

[1]+  Done                    nohup nodemon --dump server/server.js

-bash-4.1 # ๊ณ ์–‘์ด nohup.out

Update available: 1.0.17 (current: 1.0.14)
Run npm update -g nodemon to update
-----------------------------------------
25 Apr 18:47:03 - [nodemon] v1.0.14
25 Apr 18:47:03 - [nodemon] to restart at any time, enter `rs`
25 Apr 18:47:03 - [nodemon] watching: *.*
--------------
{ run: false,
  system: 
   { cwd: '/www/app/dms',
     useFind: false,
     useWatch: true,
     useWatchFile: false },
  required: false,
  dirs: [ '/www/app/dms' ],
  timeout: 1000,
  options: 
   { scriptPosition: 1,
     dump: true,
     script: 'server/server.js',
     args: [ 'server/server.js' ],
     ignore: 
      [ '.git',
        'node_modules/**/node_modules',
        re: /\.git|node_modules/.*.*/node_modules/ ],
     watch: [ '*.*', re: /.*\..*/ ],
     restartable: 'rs',
     execMap: { py: 'python', rb: 'ruby' },
     stdin: true,
     verbose: false,
     stdout: true,
     execOptions: 
      { script: 'server/server.js',
        exec: 'node',
        nodeArgs: undefined,
        ext: 'js',
        env: {},
        execArgs: [] },
     ext: 'js',
     monitor: [ '*.*', '!.git', '!node_modules/**/node_modules' ] },
  load: [Function],
  reset: [Function: reset],
  lastStarted: 0,
  loaded: [],
  command: 
   { raw: 
      { executable: 'node',
        args: [ 'server/server.js', 'server/server.js' ] },
     string: 'node server/server.js server/server.js' } }
--------------
OS: linux ia32
node: v0.10.25
nodemon: v1.0.14
cwd: /www/app/dms
command: node /usr/local/bin/nodemon --dump server/server.js
--------------

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์—ฌ๊ธฐ ๋‚ด ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์‰˜ ์Šคํฌ๋ฆฝํŠธ exec.sh ์ƒ์„ฑ

cd source
nodemon app.js

๊ทธ๋Ÿฐ ๋‹ค์Œ nohup์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

nohup exec.sh

ํŒ์„ ์‘์›ํ•ฉ๋‹ˆ๋‹ค. ์•„์ง ์ด๊ฑธ ๊ฐ€์ง€๊ณ  ๋†€ ๊ธฐํšŒ๊ฐ€ ์—†์—ˆ์–ด์š” (am on
์œก์•„ ํœด๊ฐ€),ํ•˜์ง€๋งŒ ๋‚˜๋„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์–ด๋–ค ์ข…๋ฅ˜์˜
์—ฌ๊ธฐ์„œ ์ด์ƒํ•˜๊ฒŒ ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

2014 ๋…„ 5 ์›” 6 ์ผ ํ™”์š”์ผ์— Sriraman [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์—ฌ๊ธฐ ๋‚ด ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์‰˜ ์Šคํฌ๋ฆฝํŠธ exec.sh ์ƒ์„ฑ

cd ์†Œ์Šค
nodemon app.js

๊ทธ๋Ÿฐ ๋‹ค์Œ nohup์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

nohup exec.sh

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ํšŒ์‹ ํ•˜๊ฑฐ๋‚˜ Gi tHub์—์„œ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
.

โ€” ๋ ˆ๋ฏธ

@sparkit noop, ๋ฐฉ๋ฒ•์€ ๋™์ผํ•œ ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค ...

๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค : nohup nodemon app.js </dev/null &

์„ธ๋ถ€ ์ •๋ณด : https://github.com/remy/nodemon/issues/98

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ์ž‘๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@nvcken
๋‚ด๊ฐ€ ๊ฒŒ์‹œ ํ•œ ์†”๋ฃจ์…˜์„ ์‹œ๋„ ํ–ˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” nohup nodemon์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

7 ์›” 8 ์ผ 15:00:57-[33m [nodemon] v1.2.0 [39m
7 ์›” 8 ์ผ 15:00:57-[33m [nodemon]์€ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด rs [39m] ์ž…๋ ฅ
7 ์›” 8 ์ผ 15:00:57-[33 ๋ถ„ [๋…ธ๋“œ ๋ชฌ] ์‹œ์ฒญ : _._ [39 ๋ถ„]
7 ์›” 8 ์ผ 15:00:57-[32m [nodemon] ์‹œ์ž‘๊ฐ€ node ./bin/www [39m]
events.js : 85
์–ด ๋˜์ ธ; // ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ '์˜ค๋ฅ˜'์ด๋ฒคํŠธ
^
์˜ค๋ฅ˜ : EADDRINUSE ๋“ฃ๊ธฐ
exports._errnoException (util.js : 742 : 11)
Server._listen2 (net.js : 1126 : 14)
์ˆ˜์‹ ์‹œ (net.js : 1148 : 10)
Server.listen (net.js : 1223 : 5)
Server.listen (/var/www/appota_inside/node_modules/livereload/lib/livereload.js:69:28)
Object.exports.createServer (/var/www/appota_inside/node_modules/livereload/lib/livereload.js:201:12)
๊ฐœ์ฒด์—์„œ.(/var/www/appota_inside/app.js:28:21)
Module._compile (module.js : 449 : 26)
Object.Module._extensions..js (module.js : 467 : 10)
Module.load (module.js : 349 : 32)
7 ์›” 8 ์ผ 15:00:58-[31m [nodemon] ์•ฑ ์ถฉ๋Œ-์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํŒŒ์ผ ๋ณ€๊ฒฝ ๋Œ€๊ธฐ ์ค‘ ... [39m]

@sparkit
๋‚˜๋Š” ๋‹น์‹ ์˜ ๊ฐ€์ด๋“œ๋กœ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค
์ด ๋กœ๊ทธ๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค

7 ์›” 8 ์ผ 15:06:49-[33 ๋ถ„ [nodemon] v1.2.0 [39m
7 ์›” 8 ์ผ 15:06:49-[33m [nodemon]์€ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด rs [39m] ์ž…๋ ฅ
7 ์›” 8 ์ผ 15:06:49-[33 ๋ถ„ [nodemon] ์‹œ์ฒญ : _._ [39m]
7 ์›” 8 ์ผ 15:06:49-[32m [nodemon] ์‹œ์ž‘ node ./bin/www [39m]
nodemon ์ข…๋ฃŒ ๋…ธ๋“œ์˜ ์˜ˆ์™ธ
์˜ค๋ฅ˜ : EBADF, ์ฝ๊ธฐ
at Error (๋„ค์ดํ‹ฐ๋ธŒ)


์ ์ ˆํ•œ ๊ฒฝ์šฐ ๋‹ค์Œ์˜ ์ถœ๋ ฅ๊ณผ ํ•จ๊ป˜ ์˜ค๋ฅ˜๋ฅผ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.
$ ๋…ธ๋“œ / usr / local / bin / nodemon --dump

http://github.com/remy/nodemon/issues/new์—์„œ

@sparkit
nohup ./exec.sh๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. nohup exec.sh๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. "nohup : cannot run command`exec.sh ': No such file or directory"๊ฐ€ ํ‘œ์‹œ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

exec.sh์— ๋Œ€ํ•œ ๊ถŒํ•œ + x๋ฅผ ์ถ”๊ฐ€ ํ–ˆ์Šต๋‹ˆ๊นŒ?
์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค.

exec.sh์— ๋Œ€ํ•ด + x ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์–ด๋–ป๊ฒŒ ์ œ๊ณตํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
nohup /home/nvcken/myapp/exec.sh

2014 ๋…„ 7 ์›” 8 ์ผ ํ™”์š”์ผ ์˜คํ›„ 1:48์— nvcken [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

exec.sh์— ๋Œ€ํ•ด + x ๊ถŒํ•œ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/remy/nodemon/issues/296#issuecomment -48284117.

์ด์ œ nohup nodemon ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ํŒŒ์ผ js๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  nodemon์ด ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์‹œ์ž‘๋˜์ง€๋งŒ

7 ์›” 8 ์ผ 15:39:02-[32m [nodemon] ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์žฌ์‹œ์ž‘ ... [39m]
7 ์›” 8 ์ผ 15:39:03-[32m [nodemon] ์‹œ์ž‘ node ./bin/www [39m]
7 ์›” 8 ์ผ 15:39:03-[32m [nodemon] ์‹œ์ž‘๊ฐ€ node ./bin/www [39m]
events.js : 85
์–ด ๋˜์ ธ; // ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ '์˜ค๋ฅ˜'์ด๋ฒคํŠธ
^
์˜ค๋ฅ˜ : EADDRINUSE ๋“ฃ๊ธฐ

grep ๋…ธ๋“œ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์ˆ˜์‹  ๋Œ€๊ธฐ ํฌํŠธ 35729๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋…ธ๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์ฃฝ์ด๋ฉด nodemon์ด ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.
๋ฌด์Šจ ์ผ์ด์•ผ ?

์—ฌ๊ธฐ์— ๋ถ™์—ฌ์ฃผ์„ธ์š”

a) ์‹คํ–‰์ค‘์ธ nohup ๋ช…๋ น
b) exec.sh

๊ฐ์‚ฌ

2014 ๋…„ 7 ์›” 8 ์ผ ํ™”์š”์ผ ์˜คํ›„ 2:15์— nvcken [email protected] ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ผ์Šต๋‹ˆ๋‹ค.

์ด์ œ nohup nodemon ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ ํŒŒ์ผ js๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  nodemon์ด ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์‹œ์ž‘๋˜์ง€๋งŒ

7 ์›” 8 ์ผ 15:39:02-[32m [nodemon] ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์žฌ์‹œ์ž‘ ... [39m]
7 ์›” 8 ์ผ 15:39:03-[32m [nodemon] ์‹œ์ž‘ ๋…ธ๋“œ ./bin/www[39m
7 ์›” 8 ์ผ 15:39:03-[32m [nodemon] ์‹œ์ž‘ ๋…ธ๋“œ ./bin/www[39m

events.js : 85
์–ด ๋˜์ ธ; // ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š์€ '์˜ค๋ฅ˜'์ด๋ฒคํŠธ
^
์˜ค๋ฅ˜ : EADDRINUSE ๋“ฃ๊ธฐ

grep ๋…ธ๋“œ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์ˆ˜์‹  ํฌํŠธ 35729๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋…ธ๋“œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์ฃฝ์ด๋ฉด nodemon์ด ์ •์ƒ์ ์œผ๋กœ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.
๋ฌด์Šจ ์ผ์ด์•ผ ?

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/remy/nodemon/issues/296#issuecomment -48286361.

์•„๋ž˜ ๋ช…๋ น ๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
nohup nodemon

๊ฐ์‚ฌ

stdin์— ๋ฐ”์ธ๋”ฉ ํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— nodejs์— ๋ฌธ์ œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์™€๋„ ๊ด€๋ จ์ด์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/joyent/node/issues/8410

@remy ์ด ์ค„์„ ์ œ๊ฑฐํ•˜๋ฉด nohup์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ์—†์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. :)

https://github.com/remy/nodemon/blob/master/lib/nodemon.js#L106

nohup nodemon app.js๋Š” ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!
๊ฐ์‚ฌ!

nohup nodemon app.js๋„ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!
๋Œ€๋‹จํžˆ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ;-)

๋ฐฐ๊ฒฝ์— ๋„ฃ์„ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ssh ์—ฐ๊ฒฐ์„ ๋‹ซ์€ ํ›„ nodemon์ด ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ssh์— ๋‹ค์‹œ ์—ฐ๊ฒฐ ํ•œ ํ›„์—๋Š” ๋ฐฐ๊ฒฝ์— ํŒจํ‚ค์ง€๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

Last login: Mon Jul 25 10:01:35 2016 from 46.224.238.119 hello<strong i="6">@ubuntu</strong>:~$ fg -bash: fg: current: no such job

๋˜ ๋‹ค๋ฅธ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ์ฑ… :

nohup nodemon -I app.js

-I ์Šค์œ„์น˜๋Š” nodemon์ด ์ž…๋ ฅ ์ŠคํŠธ๋ฆผ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— nohup์—์„œ ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” STDIN์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

~ @Fistynuts ํฅ๋ฏธ๋กญ์ง€ ๋งŒ nodemon --help ์‹คํ–‰ํ•  ๋•Œ -I ์˜ต์…˜์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ ๋ฌธ์ œ? ~
์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ, ๋‚ด ๋ˆˆ์ด ๋‚˜๋ฅผ ์†์˜€๋‹ค.

@barraponto tmux ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ทธ ์•ˆ์—์„œ nodejs ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์ด ๋ฌธ์ œ๋Š” ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์œ ํœด ๋ฐ ๋ถ€์‹ค ์ƒํƒœ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ํ™œ๋™์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด ์ž๋™์œผ๋กœ ๋‹ซํž™๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ž˜๋ชป๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ฑฐ๋‚˜ ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์ง€์†๋˜๋Š” ๊ฒฝ์šฐ ๋Œ“๊ธ€์— ๋‹ต์žฅ์„ ๋ณด๋‚ด๋ฉด @remy ๊ฐ€ ํ›„์† ์กฐ์น˜๋ฅผ ์ทจํ•ฉ๋‹ˆ๋‹ค.
๊ธฐ์—ฌ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค <3

@leoliaolei tmux ์™€ ํ•จ๊ป˜ nodemon ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@remy ์ด ๋ฌธ์ œ๋ฅผ ๋‹ซ์•„๋„๋ฉ๋‹ˆ๋‹ค. -I ์Šค์œ„์น˜๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ ํ•  FAQ ํ•ญ๋ชฉ์ด ์žˆ์œผ๋ฏ€๋กœ์ด ํ•ญ๋ชฉ์„ FAQ์—๋„ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘

์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ (๋‚ด๊ฐ€ ์„ค์น˜ ํ•œ ๋ฒ„์ „์— ์•„์ง -I ์Šค์œ„์น˜๊ฐ€ ์—†์Œ) ๋ฐฐํฌํŒ์— "screen"๋ช…๋ น์ด์žˆ๋Š” ๊ฒฝ์šฐ (AWS์— ์žˆ์Œ) ์—ฐ๊ฒฐ ํ•ด์ œ ๋œ ์…ธ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. ssh๊ฐ€ ์ฃฝ์–ด๋„ ์ฃฝ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค (๋˜ํ•œ ๋‚˜์ค‘์— ๋ณต๊ตฌ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)

nohup nodemon app.js๋Š” ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!
๊ฐ์‚ฌ!

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰