Process Management 1 - hochan222/Everything-in-JavaScript GitHub Wiki
νλ‘μΈμ€ μμ± (Process Creation)
- λΆλͺ¨ νλ‘μΈμ€κ° μμ νλ‘μΈμ€λ₯Ό μμ±
- νλ‘μΈμ€μ νΈλ¦¬(κ³μΈ΅κ΅¬μ‘°) μμ±
- νλ‘μΈμ€λ μμμ νμλ‘ ν¨
- μ΄μ체μ λ‘λΆν° λ°λλ€
- λΆλͺ¨μ 곡μ νλ€
- μμμ 곡μ
- λΆλͺ¨μ μμμ΄ λͺ¨λ μμμ 곡μ νλ λͺ¨λΈ
- μΌλΆλ₯Ό 곡μ νλ λͺ¨λΈ
- μ ν 곡μ νμ§ μλ λͺ¨λΈ
- μν(Execution)
- λΆλͺ¨μ μμμ 곡쑴νλ©° μνλλ λͺ¨λΈ
- μμμ΄ μ’
λ£λ λκΉμ§ λΆλͺ¨κ° κΈ°λ€λ¦¬λ λͺ¨λΈ
- μ£Όμ 곡κ°
- μμμ λΆλͺ¨μ 곡κ°μ 볡μ¬ν¨
- μμμ κ·Έ 곡κ°μ μλ‘μ΄ νλ‘κ·Έλ¨μ μ¬λ¦Ό
- μ λμ€ μ
- fork() μμ€ν
μ½μ΄ μλ‘μ΄ νλ‘μΈμ€λ₯Ό μμ±
- λΆλͺ¨λ₯Ό κ·Έλλ‘ λ³΅μ¬
- μ£Όμ κ³΅κ° ν λΉ
- fork λ€μμ μ΄μ΄μ§λ exec() μμ€ν
μ½μ ν΅ν΄ μλ‘μ΄ νλ‘κ·Έλ¨μ λ©λͺ¨λ¦¬μ μ¬λ¦Ό
νλ‘μΈμ€ μ’
λ£
- νλ‘μΈμ€κ° λ§μ§λ§ λͺ
λ Ήμ μνν ν μ΄μ체μ μκ² μ΄λ₯Ό μλ €μ€ (exit)
- μμμ΄ λΆλͺ¨μκ² output dataλ₯Ό 보λ (via wait)
- νλ‘μΈμ€μ κ°μ’
μμλ€μ΄ μ΄μ체μ μκ² λ°λ©λ¨
- λΆλͺ¨ νλ‘μΈμ€κ° μμμ μνμ μ’
λ£μν΄ (abort)
- μμμ΄ ν λΉ μμμ νκ³μΉλ₯Ό λμ΄μ¬
- μμμκ² ν λΉλ νμ€ν¬κ° λ μ΄μ νμνμ§ μμ
- λΆλͺ¨κ° μ’
λ£νλ κ²½μ°
- μ΄μ체μ λ λΆλͺ¨ νλ‘μΈμ€κ° μ’
λ£λλ κ²½μ° μμμ΄ λμ΄μ μνλλλ‘ λμ§ μλλ€
- λ¨κ³μ μΈ μ’
λ£