inflearn logo
강의

講義

知識共有

Linuxシステムプログラミング - 理論と実践

ファイル属性制御 - ライブプログラミング

wsl에서 fcntl사용

解決済みの質問

72

random123

投稿した質問数 5

0

17:33 내용

현재 쉘이 갖고 있는 쉘의 그 특성을 상속을 받아서 이제 프로세스가 동작을 하기 때문에

 

wsl에서는 이렇지 않은 것 같습니다.

왜 그런가요??

linux

回答 2

0

random123

네 제가 질문을 구체적으로 적지 못했던거 같습니다

우리가 이 파일 디스크립터를 non-blocking mode로 standard in에 대한 이 동작 모드를

Non-blocking mode로 설정을 하고 프로그램을 끝냈기 때문에 이 창은 계속 이제부터는 standard in은

Non-blocking mode로 이제 시작이 됩니다.

라고 말씀하셨는데

fcntl을 한번 실행하고 종료 한 다음에

다시 재실행해도 read() 함수가 blocking 모드로 동작합니다.

 

image.png

 

 


0

learnit

안녕하세요 random123님.

제가 진행한 실습에서는 분명히 shell의 STDIN에 NONBLOCKING이 설정되어 fcntl 프로그램을 두번째 실행했을 때 STDIN은 non-blocking mode로 동작하는 것이 맞습니다.

하지만 WSL에서는 그렇지 않다고 알려주셨는데요, 이는 WSL 혹은 shell의 동작 특성이라고 봐야할 것 같습니다. 확실히 Linux와는 다르게 동작하는 것으로 보이네요..

제가 WSL에 대해 잘 알지 못해서요.. 정확한 원인 파악 및 분석이 어려운 점 죄송합니다.

0

learnit

안녕하세요 random123님.

먼저, 답변이 너무 늦어진 점 죄송합니다.ㅠㅠ 질문이 올라온 것을 인지하지 못했네요. 죄송합니다.ㅠㅠ

제가 WSL의 구조를 정확히 알지 못하지만, 쉘에서 띄운 프로세스가 쉘의 속성을 받아 동작하는 부분이 달라질 것 같지는 않은데요.. 구체적으로 어떻게 동작하는 것을 보시고 WSL은 다르다고 생각하셨을까요? 좀 더 구체적인 내용 공유 부탁드리겠습니다.

 

inotify 객체에 등록된 watch descriptor 해제 관련 질문

0

37

2

select API 실습 코드 질문

0

40

2

inotify_event 구조체 질문 [파일 이벤트 - 라이브 프로그래밍]에서...

0

180

2

./stat 파일이름

0

273

2

fopen r, r+모드 차이

0

460

2

강의를 모두 수강하고 스스로 구현하면 좋을 과제나 프로젝트 주제가 있을까요?

0

326

1

pthread 질문

0

419

2

I/O Multiplexing(select) 질문

0

325

1

inotify.c. ret 질문

0

302

1

inotify.c 질의합니다.

1

317

1

child process

0

715

1

read/blocking

0

564

1

flock

0

565

1

system call

0

598

1

pthread_create() 함수 이용했을 때, thread가 두번 호출되는 것 처럼 나타납니다. 왜 그런것인가요?

0

487

1

fork() 함수 사용시 결과 관련 질문

0

371

1

exec 관련 궁금한 사항

0

450

2

파일 디스크립터와 FILE 구조체에 대한 질문

0

552

1

buf 선언에 따른 read() fail 문제

0

251

2

파일 이벤트 - 라이브 프로그래밍 에서 캐스팅 질문

0

254

1

2번 multi thread 방법 질문

0

242

1

segmentation fault 발생 관련 문의

1

842

1

라이브 코딩 실습 코드

0

235

1

화면이 짤려요

0

549

4