введите , Ctrl - А и d d генерируют нормальные коды ASCII.
Таким образом, возможное решение может быть программой, которая создает неназванную трубу ( ()
), затем Fork ()
Детский процесс, который сначала связывает конечный конец трубы К своему стандартному входу, затем выполнение экрана
в дочернем процессе ( Execive ()
или аналогичный). Если эта программа запускается, вы можете написать командные строки, необходимые для начала процесса для записи запуска созданной трубы.
Как вы положили задания в эту программу, это еще одна тема. Вы могли бы, например, написать небольшой планировщик себя (что-то вроде очереди заданий и некоторый код, который начинается с большинства n процессов параллельно).
== Редактировать ==
для Linux (или, может быть, некоторые ООН * XES тоже), программа может выглядеть следующую:
#include <sys/types.h>
#include <sys/linux.h>
#include <unistd.h>
int main(void) {
int fds[2] = {0};
pid_t pid = 0;
pipe(fds); /* Creates an unnamed pipe */
pid = fork(); /* Forks a new process */
if (pid == 0) {
static char const *argv[] = {"/usr/bin/screen", NULL};
/* Note: The array might need to be changed,
* depending on your requirements
* (eg. command-line arguments)
*/
dup2(fds[0], stdin); /* Binds the read end of the pipe to stdin */
execve(argv[0], argv, NULL);
/* If you reach this point, your execve() failed */
}
sleep(1); /* Waits for the child process to execute
* screen */
char const data[] = "./MyJob.sh\n\x00d";
/* Note: You must replace the '\x00' by the
* ASCII code of C-a!
*/
write(fds[1], data, sizeof(data));
/* Writes the name of the job along with the
* control codes to the child process
*/
int retcode = 0;
waitpid(pid, &retcode, 0);
/* Waits for the child process to terminate */
/* Note: WEXITSTATUS(retcode) gets the exit
* status of the child process */
return 0;
}
Эта программа должна проиллюстрировать идею, ему не хватает необходимой обработки ошибок.
Поскольку вы используете putty
Я предполагаю, что вы хотите версию Emacs, отличную от X:
emacs -nw test.txt
откроет test.txt
в неоконной версии Emacs.
Если необходимо открыть файл test.txt в определенной строке и столбце, используйте:
emacs -nw +5:8 test.txt
Курсор будет установлен в столбец 8 в строке 5 (или в конце этой строки, если она недостаточно длинная).
-121--230368-Я предполагаю, что это обычный раздел (PC BIOS или GPT).
Необходимо создать резервную копию таблицы разделов (например, с помощью sfdisk -d/dev/sda
или parted/dev/sda «unit s» print
)
Необходимо убедиться в наличии свободного места за разделом.
Если у вас нет инструмента, позволяющего расширить раздел непосредственно, то вы должны удалить раздел и воссоздать его в том же секторе, но с большим размером.
После увеличения раздела выполните resize2fs/dev/xvdb1
, чтобы расширить файловую систему, чтобы охватить весь раздел.
Я решил проблему.
Проблема в том, что /etc/xdg/autostart/gmd-applet-3.py.desktop
запускает скрипт python2, тогда как по умолчанию python на Arch - python 3.
Я изменил строку EXEC в файле .desktop с
Exec=/usr/share/gnome-manual-duplex/gmd-applet-3.py run-in-tray
на
Exec=python2 /usr/share/gnome-manual-duplex/gmd-applet-3.py run-in-tray
и он работал отлично.