cdrecord가 중단 없이 시스템 리소스를 사용하도록 만드는 방법은 무엇입니까?

cdrecord가 중단 없이 시스템 리소스를 사용하도록 만드는 방법은 무엇입니까?

cdrecord를 사용하여 30곡의 mp3 노래를 CD-R에 굽고 싶습니다. 하지만 동시에 다른 용도로 노트북을 사용하고 싶습니다(예: Kate 편집기 및 인터넷 사용).

그러나 레이저가 CD에 쓰는 중 프로세스가 중단되면 쓰기가 손상된다는 내용을 읽었습니다.

내 질문:

그렇다면 cdrecord와 CD 버너가 시스템 리소스를 중단 없이 사용하면서 시스템에서 다른 작업을 계속 수행할 수 있도록 하려면 어떻게 해야 합니까?

답변1

이에 대한 일반적인 대답은 "좋은" cdrecord프로세스에 집중하는 것입니다. 이는 커널에 "여기서 이 프로세스에 평소보다 더 높은(또는 더 낮은) 리소스 우선순위를 부여하십시오"를 알려줍니다. 얼마나 더 높은(또는 더 낮은)지는 사용자가 제공한 좋은 값에 따라 달라집니다. 에서 man nice:

SYNOPSIS
   nice [OPTION] [COMMAND [ARG]...]

DESCRIPTION
   Run  COMMAND  with an adjusted niceness, which affects process schedul‐
   ing.  With no COMMAND, print the  current  niceness.   Niceness  values
   range  from  -20 (most favorable to the process) to 19 (least favorable
   to the process).

프로세스가 이미 실행 중인 경우 cdrecordrenice명령을 사용하여 동일한 방식으로 nice 값을 조정할 수 있습니다. 참고 man renice자료를 참조하세요.

답변2

cdrecord올바르게 설치되었거나 요청 시 루트에 의해 호출된 경우 cdrecord항상 가장 높은 실시간 우선 순위를 설정하고 메모리를 잠급니다.

이는 cdrecord글쓰기에 가장 좋은 조건을 제공합니다.

안타깝게도 운영 체제에 대해서는 언급하지 않으셨기 때문에 일반적인 조언만 드릴 수 있습니다.

  • cdrecordSCSI 명령을 SCSI 장치로 보내려면 항상 특별한 시스템 권한이 필요합니다.

  • 일반 UNIX 시스템에서 특별한 시스템 권한을 얻으려면 cdrecordsuid root를 설치하여 사용 가능한 모든 권한을 부여할 수 있습니다.

  • Solaris에서는 cdrecord데이터베이스에 적절한 항목을 생성하여 필요한 세분화된 권한을 정확하게 부여할 수 있습니다.pfexec/etc/security

  • 최근 Linux에서는 이 명령을 사용하여 적절한 세분화된 기능을 부여할 수 있습니다 setcap.

예를 들어, Linux에서 권한 없는 cdrecord를 실행하면 다음과 같은 결과를 얻게 됩니다.

cdrecord -scanbus
Cdrecord-ProDVD-ProBD-Clone 3.02a10 2021/07/23 (x86_64-unknown-linux-gnu) Copyright (C) 1995-2019 Joerg Schilling
cdrecord: Insufficient 'file read' privileges. You will not be able to open all needed devices.
cdrecord: Insufficient 'file write' privileges. You will not be able to open all needed devices.
cdrecord: Insufficient 'device' privileges. You may not be able to send all needed SCSI commands, this my cause various unexplainable problems.
cdrecord: Insufficient 'memlock' privileges. You may get buffer underruns.
cdrecord: Insufficient 'priocntl' privileges. You may get buffer underruns.
cdrecord: Insufficient 'network' privileges. You will not be able to do remote SCSI.
cdrecord: Keine Berechtigung. Cannot open '/dev/sg0'. Cannot open or use SCSI driver.
cdrecord: For possible targets try 'cdrecord -scanbus'. Make sure you are root.
cdrecord: For possible transport specifiers try 'cdrecord dev=help'.

필요한 권한으로 cdrecord를 실행하라는 알림이 표시됩니다.

따라서 가장 최근의 콘텐츠를 사용하면 cdrecord귀하에게 딱 맞는 일이 될 것입니다.

관련 정보