Повернуть файл PDF меньше чем 90 градусов?

man ps в NOTES раздел.

   CPU usage is currently expressed as the percentage of time spent running
   during the entire lifetime of a process.  This is not ideal, and it does not
   conform to the standards that ps otherwise conforms to.  CPU usage is
   unlikely to add up to exactly 100%.

И, угадайте, что Вы знаете, но можно также сделать:

top -p 

Править: относительно Вашего комментария к другому ответу;

"Хм да я Wonder, как получить это (мгновенный процент использования ЦП) от PS"

Короткий ответ: Вы не можете.

Почему это так?

Это похоже на просьбу, чтобы кто-то вычислил скорость автомобиля из изображения.

В то время как top контрольный инструмент, ps инструмент снимка. Думайте о нем как это: В любой данный момент процесс или использует ЦП или нет. Таким образом у Вас есть или 0%-я или 100%-я загрузка в тот точный момент.

Предоставление: если ps должен дать мгновенное использование ЦП, это были бы или 0% или 100%.

top с другой стороны, продолжайте опрашивать числа и вычисляйте загрузку со временем.

ps возможно, дал текущее использование – но это потребует, чтобы это считало данные многократно и сон между каждым чтением. Это не делает.

Вычисление для PS %cpu

ps вычисляет использование ЦП следующим образом:

uptime  = total time system has been running.
ps_time = process start time measured in seconds from boot.
pu_time = total time process has been using the CPU.

;; Seconds process has been running:
seconds   = uptime - ps_time
;; Usage:
cpu_usage = pu_time * 1000 / seconds

print: cpu_usage / 10 "." cpu_usage % 10


Example: uptime = 344,545 ps_time = 322,462 pu_time = 3,383 seconds = 344,545 - 322,462 = 22,083 cpu_usage = 3,383 * 1,000 / 22,083 = 153 print: 153 / 10 "." 153 % 10 => 15.3

Таким образом, распечатанное число: время, во время которого процесс использовал ЦП, он - время жизни. Как в примере выше. Это сделало так в 15,3% его времени жизни. В 84,7% времени это не прослушивало на ЦП.

Поиск данных

ps, а также top, данные использования из файлов, хранивших под /proc/ - или псевдофайловая система информации о процессе.

У Вас есть некоторые файлы в корне /proc/ это имеет различную информацию о полном состоянии системы. Кроме того, каждый процесс имеет свою собственную sub папку /proc// то, где обрабатывают определенные данные, хранится. Так, например, процесс от Вашего вопроса имел папку в /proc/3038/.

Когда ps вычисляет использование ЦП, оно использует два файла:

/proc/uptime      The uptime of the system (seconds), and the amount of time spent in idle process (seconds).
/proc/[PID]/stat  Status information about the process.
  • От uptime это использует первое значение (время работы).
  • От [PID]/stat это использует следующее:
 #  Name      Description
14  utime     CPU time spent in user code, measured in jiffies
15  stime     CPU time spent in kernel code, measured in jiffies
16  cutime    CPU time spent in user code, including time from children
17  cstime    CPU time spent in kernel code, including time from children 
22  starttime Time when the process started, measured in jiffies

jiffie является тактом системных часов. Так, кроме того, это использует различные методы, т.е., sysconf(_SC_CLK_TCK), получить Герц системы (количество галочек в секунду) - в конечном счете использование 100 как нейтрализация после исчерпания других опций.

Итак, если utime 1234, и Герц равняется 100 затем:

seconds = utime / Hertz = 1234 / 100 = 12.34

Фактическое вычисление сделано:

total_time = utime + stime

IF include_dead_children
    total_time = total_time + cutime + cstime
ENDIF

seconds = uptime - starttime / Hertz

pcpu = (total_time * 1000 / Hertz) / seconds

print: "%CPU" pcpu / 10 "." pcpu % 10

Пример (Вывод из пользовательского сценария Bash):

$ ./psw2 30894
System information
           uptime : 353,512 seconds
             idle : 0
Process information
              PID : 30894
         filename : plugin-containe
            utime : 421,951 jiffies 4,219 seconds
            stime : 63,334 jiffies 633 seconds
           cutime : 0 jiffies 0 seconds
           cstime : 1 jiffies 0 seconds
        starttime : 32,246,240 jiffies 322,462 seconds

Process run time  : 31,050
Process CPU time  : 485,286 jiffies 4,852 seconds
CPU usage since birth: 15.6%

Вычисление "текущей" загрузки с PS

Это (бит?) теневое усилие, но хорошо. Позволяет делают попытку.

Можно было использовать времена, обеспеченные ps и вычислите использование ЦП от этого. При размышлении об этом это могло на самом деле быть довольно полезно с некоторыми ограничениями.

Это могло быть полезно для вычисления использования ЦП за более длительный период. Т.е. скажите, что Вы хотите контролировать среднюю загрузку ЦП plugin-container в Firefox при выполнении некоторой связанной с Firefox задачи.

При помощи вывода от:

PS $-p-o cputime, etimes

CODE    HEADER   DESCRIPTION
cputime TIME     cumulative CPU time, "[DD-]hh:mm:ss" format.  (alias time).
etime   ELAPSED  elapsed time since the process was started, [DD-]hh:]mm:ss.
etimes  ELAPSED  elapsed time since the process was started, in seconds.

Я использую etime etimes в этом образце, на вычислениях, только чтобы быть немного более ясным. Также я добавляю %cpu для "забавы". В т.е. сценарий удара можно было бы, очевидно, использовать etimes - или лучше читайте из /proc// и т.д.

Start:
$ ps -p 30894 -o %cpu,cputime,etime,etimes
%CPU     TIME     ELAPSED ELAPSED
 5.9 00:13:55    03:53:56   14036

End:
%CPU     TIME     ELAPSED ELAPSED
 6.2 00:14:45    03:56:07   14167

Calculate times:
            13 * 60 + 55 =    835   (cputime this far)
3 * 3,600 + 53 * 60 + 56 = 14,036   (time running this far)

            14 * 60 + 45 =    885   (cputime at end)
3 * 3,600 + 56 * 60 +  7 = 14,167   (time running at end)

Calculate percent load:
((885 - 835) / (14,167 - 14,036)) * 100 = 38

Процесс использовал ЦП 38% времени в течение этого периода.

Посмотрите на код

Если Вы хотите знать как ps делает это и знают немного C, сделайте (похож на Вас выполненный Gnome Debain deriavnt) - хорошее отношение в коде относительно комментариев и т.д.:

apt-get source procps
cd procps*/ps
vim HACKING

8
05.10.2013, 17:28
4 ответа

Я выглядел твердым и длинным и не мог найти инструмент, который позволил Вам делать это в интерактивном режиме, которое является собственным типом средства просмотра PDF инструмента. Я не попробовал это, но Вы смогли использовать Inkscape или Gimp, чтобы сделать это. Я думаю единственная проблема, с которой Вы, вероятно, столкнетесь с использованием их, способность обработать в пакетном режиме, поворачивают многостраничный документ.

Даже инструменты командной строки, такие как PdfTk не могли сделать вращения постепенно, которое действительно удивило меня.

Однако использование ImageMagick можно повернуть файлы PDF в инкрементах на 1 градус.

Примеры

$ convert original.pdf -rotate 45 rot45.pdf

Можно поместить любое значение, в котором Вы хотите для поворачивать аргумента. Это также возьмет отрицательные числа, таким образом, это будет возможно:

$ convert original.pdf -rotate -45 rot-45.pdf

Качество вывода привезет существенное использование опций по умолчанию, таким образом, необходимо будет, вероятно, включать -density переключитесь для увеличения качества получающегося файла PDF.

$ convert -density 300x300 original.pdf -rotate 45 rot45.pdf

Получающийся PDF

Вот снимок экрана, Проявляют с получающимся файлом PDF.

   ss of pdf

6
27.01.2020, 20:09
  • 1
    Imagemagick или Калека вращаются первой растеризацией, которая часто не желательна. калека –  Gilles 'SO- stop being evil' 05.10.2013, 17:35
  • 2
    @Gilles - да я знаю, я искал другой метод, но подходил пустой. Существует SU Вопросы и ответы, который показывает использующие программные методы, но который кажется немного вне того, что было бы соответствующим здесь. Вы нашли какие-либо другие методы. Была страница, с которой я столкнулся, который сказал, что Acrobat Pro может сделать, вращается инкрементами на 1 градус, но я не мог сказать, делало ли это растеризацию также или нет. –  slm♦ 05.10.2013, 17:47
  • 3
    Спасибо, slm! Может метод convert повернуть каждую страницу на единственных нескольких-страницах файл PDF? @Gilles: в моем случае файлы PDF создаются путем сканирования. Таким образом, я думаю, растеризируя, сначала не имеет значения? –  StackExchange for All 05.10.2013, 17:49
  • 4
    @Tim - да, так как они - сканирования, они были уже растеризированы. Да это делает каждую страницу. фоновые процессы –  slm♦ 05.10.2013, 17:54
  • 5
    @Tim - да, это - то, что показывает пример, он преобразовал многостраничный документ. –  slm♦ 28.10.2013, 19:06

Можно сделать это с ConTeXt.

  • не растеризирует
  • допускает отдельные углы для отдельных страниц
  • допускает переменные размеры страницы

Версии прежде 2013.10.07 09:47 имел ошибку, которая обрезала страницы, поэтому удостоверьтесь, что Вы используете версию включая фиксацию.

Сначала создайте файл (например. rotatepdf.tex) со следующим содержанием

\getfiguredimensions [\getdocumentargument{input}]
\starttext
  \dorecurse{\noffigurepages}
    {\startTEXpage
      \externalfigure
        [\getdocumentargument{input}]
        [page=\recurselevel,
         orientation=\getdocumentargument{rotation}]
    \stopTEXpage}
\stoptext

Затем можно повернуть PDF с помощью следующей командной строки:

context --input=somefile.pdf --rotation=10 rotatepdf.tex

Вот вывод в качестве примера:

screenshot

7
27.01.2020, 20:09

Вы могли импортировать его с GIMP, который включает поворачивать инструмент и может экспортировать назад в PDF.

1
27.01.2020, 20:09
  • 1
    растеризирует сначала, который часто не желателен. –  Gilles 'SO- stop being evil' 05.10.2013, 17:38

Этот вопрос также задавался на stackoverflow.com .

Другой вариант — использование LaTeX:

\documentclass{standalone}
\usepackage{graphicx}

\begin{document}
\includegraphics[angle=-1.5]{odd-scan}
\end{document}

В этом случае у меня есть файлodd-scan.pdf(со слегка повернутым сканом одной страницы )в той же папке, что и файл LaTeX rotated.texс указанным выше содержимым, а затем я запускаю pdflatex rotated.tex. На выходе получается файл rotated.pdf, в котором PDF-файл повернут на 1,5 градуса по часовой стрелке.

3
27.01.2020, 20:09

Теги

Похожие вопросы