# Svuotare coda di stampa

## rb34

Mettiamo che io abbia mandato in stampa un documento, poi dopo mezza pagina mi accorgo di aver sbagliato. Voglio bloccare la stampa: da kjobviewer faccio "rimuovi", ok, ora lpq da riga comando mi dà coda vuota come l'elenco di kjobviewer.

MA, se spengo la stampante, e la riaccendo, stampa ancora, e ora stampa caratteracci perché ha saltato qualche dato che le è arrivato.

Ora... quale diavolo è il modo per far fermare la stampante senza riavviare il sistema? (perché in quel modo, se lpq da coda vuota, sì che si ferma davvero e non riprende).

Io non l'ho capito e sono un sacco di volte che mi ci arrabbio

----------

## cloc3

stoppa cups, poi ripulisci /var/spool/cups (o /var/tmp/cups/tmp ? bu, prova).

togli solo i file, non rimuovere le cartelle.

la memoria attuale della stampante non dipende dal SO, ma dovrebbe ripulirsi con un riavvio.

----------

## rb34

 *cloc3 wrote:*   

> stoppa cups, poi ripulisci /var/spool/cups (o /var/tmp/cups/tmp ? bu, prova).
> 
> togli solo i file, non rimuovere le cartelle.
> 
> la memoria attuale della stampante non dipende dal SO, ma dovrebbe ripulirsi con un riavvio.

 

La cosa forse un po' ha funzionato ma mica come dovrebbe. Allora:

1) stampante ferma

2) stampo il forum gentoo  :Smile: 

3) la stampante inizia a stampare

4) tolgo il job con kjobviewer, spengo la stampante, stoppo cups

5) faccio 

```
cd /var/spool/cups && find -type f |xargs rm
```

6) riavvio cups, riaccendo la stampante.... e stampa! ma cosa!!!!

BOH, a questo punto forse c'è un buffer nel driver del kernel?? 

Comunque ha stampato poca roba e si è fermata, ma a me pare proprio impossibile che non ci sia niente e dico niente che su linux blocchi la stampa.

----------

## rb34

Attenzione... se al passo 6 NON riavvio cups, e riaccendo la stampante, questa stampa uguale! 

Per cui a quel punto non è più questione di cups..... ma altro. Io penso al buffer (non della stampante, che l'ho spenta ed è un modello molto semplice), c'è altro?

----------

## cloc3

 *rb34 wrote:*   

> 5) faccio 
> 
> ```
> cd /var/spool/cups && find -type f |xargs rm
> ```
> ...

 

```

s939 modules.d # cd /var/spool/cups && find -type f

./c00376

./c00377

./c00378

./c00379

s939 cups # ls

c00376  c00377  c00378  c00379  tmp/

```

/tmp non è stata vuotata. quindi il tuo test non è significativo.

se poi la stampante lavora anche con cups spento, forse si tratta di una pagina già acquisita in memoria nella stampante. mi pare infatti che tu stia parlando della stampa di un unico job.

----------

## Scen

 *rb34 wrote:*   

> 5) faccio 
> 
> ```
> cd /var/spool/cups && find -type f |xargs rm
> ```
> ...

 

Ma un bel

```

rm -frv /var/spool/cups/*

```

no, eh?  :Wink: 

----------

## cloc3

 *Scen wrote:*   

> 
> 
> ```
> 
> rm -frv /var/spool/cups/*
> ...

 

non so se accada  ancora, ma a me lo script di init faceva capricci se non trovava la /tmp con i permessi giusti. per ciò consiglio di vuotarla ma non cancellarla.

----------

## Scen

 *cloc3 wrote:*   

> non so se accada  ancora, ma a me lo script di init faceva capricci se non trovava la /tmp con i permessi giusti. per ciò consiglio di vuotarla ma non cancellarla.

 

Ho fatto una veloce verifica al volo e sembra che lo script di init ora sia diventato bravo  :Wink: 

```

# /etc/init.d/cupsd stop

 * Stopping cupsd ...                                                                                                  [ ok ]

# rm -frv /var/spool/cups/*

`/var/spool/cups/00000003' rimosso

`/var/spool/cups/0000000c' rimosso

`/var/spool/cups/0000000f' rimosso

`/var/spool/cups/00000012' rimosso

`/var/spool/cups/00000015' rimosso

`/var/spool/cups/00000018' rimosso

`/var/spool/cups/c00009' rimosso

`/var/spool/cups/c00010' rimosso

`/var/spool/cups/c00011' rimosso

`/var/spool/cups/c00012' rimosso

directory rimossa: `/var/spool/cups/tmp'

# /etc/init.d/cupsd start

 * Starting cupsd ...                                                                                                  [ ok ]

# ls -ltrR /var/spool/cups/

/var/spool/cups/:

totale 4

drwxrwx--T 2 root lp 4096 11 lug 09:05 tmp

/var/spool/cups/tmp:

totale 0

```

----------

## Kernel78

 *cloc3 wrote:*   

>  *Scen wrote:*   
> 
> ```
> 
> rm -frv /var/spool/cups/*
> ...

 

Ok, ma si può cmq scrivere un ben più elegante

```
find /var/spool/cups/ -type f -exec rm {} \;
```

che svuota anche tutte le subdirectory.

----------

## djinnZ

/var/cache/cups/*.cache contengono lo spool del lavoro in corso (che dovrebbe essere cancellato al restart ma non  so perché lo conserva),

/var/spool/cups contiene la coda da inviare.

Se la stampante è parallela mi pare che ci siano in ogni caso almeno un centinaio di kb di buffer che viene bloccato e poi svuotato (inviandolo alla stampante) quando qualcosa prende possesso del device.

Se poi usi samba devi vedere tra /var/spool /var/tmp e /tmp dove sono finiti i file temporanei.

Se poi la stampante ha una sua memoria quando viene interrotto l'invio dei dati entra in  pausa e riprende non appena il computer riprova ad accedere, anche solo per verificare se è disponibile e questo capita con i modelli più semplici, se consideri che anche una stampante ad aghi ha in gere almeno 4kb di buffer...

----------

