inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

리눅스 커맨드라인 툴 (Full ver.)

VIM 1강에서 사용하셨던 예제를 따라하고 싶은데 실습 파일을 주실 수 있을까요?

218

audibly

작성한 질문수 1

0

VIM 1강에서 사용하셨던 예제를 따라하고 싶은데 실습 파일을 주실 수 있을까요?

linux

답변 3

0

audibly

감사합니다^^

0

런잇(ProgCoach4U)

cat <<EOF > file_flock.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/file.h>

#define FLOCK_FILENAME		".flock_test"

static void print_usage(const char *progname)
{
	printf("%s (sh|ex)\n", progname);
}

int main(int argc, char **argv)
{
	int ops;
	int fd;

	if (argc < 2) {
		print_usage(argv[0]);
		return -1;
	}
	
	if (!strcmp(argv[1], "sh")) {
		ops = LOCK_SH;
	} else if (!strcmp(argv[1], "ex")) {
		ops = LOCK_EX;
	} else {
		print_usage(argv[0]);
		return -1;
	}

	fd = open(FLOCK_FILENAME, O_RDWR | O_CREAT, 0644);
	if (fd == -1) {
		perror("open()");
		return -1;
	}

	/* lock */
	printf("trying to grab the lock\n");
	flock(fd, ops);

	printf("got it. waiting for enter...\n");
	/* wait */
	getc(stdin);

	/* unlock */
	flock(fd, LOCK_UN);

	close(fd);
	return 0;
}
EOF

0

런잇(ProgCoach4U)

안녕하세요. 질문자님.

반드시 이 파일을 사용하셔야 하는 것은 아니지만, 요청하셔서 올려드립니다. 아래의 코드를 터미널에 그대로 붙여넣기 하면 file_flock.c 파일이 생성될 것입니다. 반드시 cat으로 시작하는 라인부터 마지막 줄의 EOF 다음 빈 줄도 반드시 입력하셔야 합니다.

cat <<EOF > file_flock.c

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <string.h>

#include <sys/file.h>

#define FLOCK_FILENAME ".flock_test"

static void print_usage(const char *progname)

{

printf("%s (sh|ex)\n", progname);

}

int main(int argc, char **argv)

{

int ops;

int fd;

if (argc < 2) {

print_usage(argv[0]);

return -1;

}

if (!strcmp(argv[1], "sh")) {

ops = LOCK_SH;

} else if (!strcmp(argv[1], "ex")) {

ops = LOCK_EX;

} else {

print_usage(argv[0]);

return -1;

}

fd = open(FLOCK_FILENAME, O_RDWR | O_CREAT, 0644);

if (fd == -1) {

perror("open()");

return -1;

}

/* lock */

printf("trying to grab the lock\n");

flock(fd, ops);

printf("got it. waiting for enter...\n");

/* wait */

getc(stdin);

/* unlock */

flock(fd, LOCK_UN);

close(fd);

return 0;

}

EOF

아니시면 파일 내용만 복사하셔서 리눅스 데스크탑의 텍스트 편집기를 이용하셔도 됩니다.

해보시고 잘 안되시면 다시 답글 남겨주세요!

그럼 수고하세요~~

프로젝트 질문 문의

0

37

1

강의 질문 입니다

0

70

1

리눅스 개발자와 엔지니어

1

437

1

sort와 ps명령어

0

465

1

locate명령어와 ps명령어

0

336

1

sort 의 u 옵션

0

265

1

ls -al에서 공백기준으로 sort질문입니다.

0

509

1

tail 관련 질문 드립니다.

0

549

1

head 명령어 관련 질문

0

355

1

특정 디렉토리를 제외하고 삭제가 가능할까요?

0

1850

1

리눅스 배포판 질문합니다.

0

322

1

검색 14:56

1

255

1

백스페이스 누르면 앞칸으로 이동하는데요.

1

1157

1

빔 플러그인 설치

0

303

1

강사님한테 배운것들 맥 os 에서도 쓰임새있나요?

0

272

1

질문있습니다.

1

224

4

12분 10초부터 실습

0

290

1

커맨드가 root권한이 필요한지 명령 실행전에 알수있나요?

0

385

1

비주얼모드에대해서

0

203

1

강의자료는 없을까요?

1

231

1

안녕하세요! 질문이 있습니다.

1

152

2

질문 있습니다!

1

310

4

영상이 짤린건가요?

2

297

3

inflearn-lip파일 내용 하려면 다른 강의들 먼저 듣고 와야 하나요.

1

270

1