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).

プロセスがすでに実行されている場合は、cdrecordこのreniceコマンドを使用して同じ方法で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あなたにぴったりのものになります。

関連情報